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 -C CHANGELOG.md- Generate release notes. We’re using clog for release notes. Add a-p,-mor-Mflag to denote major/minor/patch version, ieclog -C CHANGELOG.md -p.- Review the
CHANGELOG.mdfile and ensure all relevant changes since the last tag are included. - Create a new release in Sentry:
VERSION={release-version-here} bash scripts/sentry-release.sh. If you’re doing this for the first time, checkout the tips below for troubleshooting sentry cli access. 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.