Release
This chapter documents the release procedure of DQCsim. A release consists of a git tag object and an accompanying GitHub release. Build artifacts for the tag reference are generated and published by the Release workflow.
Prepare
- Create a new branch from an up-to-date
master
branch:git checkout master
,git pull origin master
andgit checkout -b release-1.2.3
. - Update version number in
rust/Cargo.toml
. Runcargo check
in the root of the repository to reflect the version update in theCargo.lock
file. - Update version number in the project command in
CMakeLists.txt
. - Add new entry to
CHANGELOG.md
. To list all commits since the previous tag reference use:git log $(git describe --tags --abbrev=0)..HEAD --oneline | xargs -L1 echo
. - Stage the release commit by adding modified files and committing:
git add rust/Cargo.toml Cargo.lock CMakeLists.txt CHANGELOG.md
andgit commit -m "Release 1.2.3"
. - Push the branch and create a pull request on GitHub.
Release
- Merge the pull request with reviewers approval and all checks passed.
- Update your local repository:
git checkout master
andgit pull origin master
. - Create the tag object:
git tag -s 1.2.3
. Add theCHANGELOG.md
entry for this version as tag message. - Push the tag object:
git push origin 1.2.3
.