-
Notifications
You must be signed in to change notification settings - Fork 8
Release Procedure
Releases of the INTO-CPS Application follows releases of the tools, see this wiki
The mechanics of a release are the following:
- run
gulp prep-release
from thedevelopment
branch
- this will: bump the version number and change the release suffix; push to GitHub (so Jenkins builds); bump the version again and change the suffix back to dev; push again
- By default, an RC is created. Use
--rel
option to create a release instead. - By default, a patch bump is made. Use
--vt minor|major
to create minor or major version bumps.
- Once Jenkis builds, download the packages (http://overture.au.dk/into-cps/into-cps-app/master/) and upload to the release page on GitHub. Be sure to type some release notes (see below)
- For full releases (non RC), clean up issues and milestones (see below).
As part of a full release, move any open issues to the next milestone (create the next milestone, if it does not yet exist). Then close the milestone associated with the release.
The GitHub release page is used to host releases. Creating the release page involves typing the release notes and uploading the binaries. For consistency, please use the Release Page Template for any new release notes. Release notes should draw attention to new features and provide minimal detail about how they are used.
We use semantic versioning: X.Y.Z
-
X
: Major versions. Compatibility-breaking changes -
Y
: Minor versions. New functionality; maintains compatibility -
Z
: Patch versions. Bug fixes; maintains compatibility
Labels are used to distinguish between stable releases and unstable development builds:
-
-dev
for development versions. Users should avoid these -
-rc
for release candidates. Only 1 built per version - Null suffix for releases. Only 1 built per version
The version is set in a few json config files (but use the prep-release
gulp task to take care of this). And, of course, the GitHub release page.
The command to build standalone packages is gulp package
. It comes in 4 flavours:
-
gulp package-win32
builds Windows binaries (32 and 64 bit) -
gulp package-darwin
builds MacOS binaries (64 bit only) -
gulp package-linux
builds Linux binaries (64 bit only) -
gulp package-all
builds binaries for all 3 platforms.
The Jenkins build server automatically builds packages for the master branch, so you can always grab the latest binaries from: https://build.overture.au.dk/jenkins/job/into-cps-ui/. For releases, it is mandatory to use Jenkins-built packages.