Creating Releases
- Switch to master branch of syncstorage-rs
git pullto ensure that the local copy is up-to-date.git pull origin masterto make sure that you’ve incorporated any changes to the master branch.git diff origin/masterto ensure that there are no local staged or uncommited changes.- Bump the version number in Cargo.toml (this new version number will be designated as
<version>in this checklist) - create a git branch for the new version
git checkout -b release/<version> cargo build --release- Build with the release profile release mode.clog --setversion <version>- Generate release notes. We’re using clog for release notes. The older v0.9.3 version is recommended (cargo install clog-cli@0.9.3), v0.10.0 has a bug interpreting our.clog.tomlfile options (which can be worked around by running it viaclog -r https://github.com/mozilla-services/syncstorage-rs --from-latest-tag --setversion <version>)- Review the
CHANGELOG.mdfile and ensure all relevant changes since the last tag are included. git commit -am "chore: tag <version>"to commit the new version and changesgit tag -s -m "chore: tag <version>" <version>to create a signed tag of the current HEAD commit for release.git push origin release/<version>to push the commits to a new origin release branchgit push --tags origin release/<version>to push the tags to the release branch.- Submit a Pull Request (PR) on github to merge the release branch to master.
- Go to the GitHub release, you should see the new tag with no release information.
- Click the
Draft a new releasebutton. - Enter the <version> number for
Tag version. - Copy and paste the most recent change set from
CHANGELOG.mdinto the release description, omitting the top 2 lines (the name and version) - Once your PR merges, click [Publish Release] on the GitHub release page.
Sync server is automatically deployed to STAGE, however QA may need to be notified if testing is required. Once QA signs off, then a bug should be filed to promote the server to PRODUCTION.