-
Notifications
You must be signed in to change notification settings - Fork 27
Release Procedures
A release candidate should be created after the community has determined that a release should occur. These steps should be followed when generating a release candidate and when completing the release.
The version number of the release should be known at the point of release since it will have been discussed on the lists prior to the release process. However, AIT adheres to Semantic Versioning whenever possible. Review changes carefully and determine what version number increments are needed for the current release.
Append -rc#
, where # indicates the current release candidate number starting at 1, when creating a release candidate.
-
pyproject.toml
- Core package version number -
doc/source/conf.py
- Documentation package version numbers
-
pyproject.toml
- GUI package version number. It's very likely that a GUI release will coincide with a Core release so be sure to increment both if necessary. -
doc/source/conf.py
- Documentation package version numbers -
ait/gui/static/package.json
- GUI package version number
CHANGELOG.md
should be updated with changes since the previous release. Use of auto-changelog is recommended and example calls that should be used are below. Otherwise, manually generating the updates is acceptable.
> auto-changelog --output CHANGELOG.md --template keepachangelog --commit-limit false --starting-version 1.0.0 --latest-version 2.0.0 --append-git-log "--after 28-04-2018"
> auto-changelog --output CHANGELOG.md --template keepachangelog --commit-limit false --starting-version 1.0.0 --latest-version 2.0.0 --append-git-log "--after 28-04-2018"
Note, the --append-git-log
passes the text to git log
during generation of the change log. This filters out any commits before 04/28/2018 when the last pre-1.0.0 release was tagged. This generally helps us avoid referencing ticket numbers prior to the code existing on Github. It might not avoid all problems but hopefully most users aren't interested in changelogs that old anyway.
GUI static files require NPM dependencies to be installed. From the root directory of AIT GUI:
> cd ait/gui/static
> npm run build
Commit all changes made related to the release. At the minimum the commit message should include Preparation for <version> release
Tag the appropriate version and push to Github
> git tag <version>
> git push --tags
Use the git diff
command to ensure that the changes to be pushed are just the changes outlined above for the release.
> git checkout master
> git diff --stat --cached origin/master
Then push to master.
> git push origin master
Email the lists regarding the release availability. If this is a release candidate notify the list of availability and propose a vote for release.
TODO
TODO