You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bump the version number in Cargo.toml. Usually you just want to bump the patch.
Run cargo build to ensure Cargo.lock would be updated
Commit changes git commit -a -m 'Release x.y.z'; include some useful brief changelog.
Prepare the release
Run ./ci/prepare-release.sh
Validate that origin points to the canonical upstream repository and not your fork: git remote show origin should not be github.com/$yourusername/$project but should
be under the organization ownership. The remote yourname should be for your fork.
open and merge a PR for this release:
git push --set-upstream origin release
open a web browser and create a PR for the branch above
make sure the resulting PR contains the commit
in the PR body, write a short changelog with relevant changes since last release
Release process
The release process follows the usual PR-and-review flow, allowing an external reviewer to have a final check before publishing.
In order to ease downstream packaging of Rust binaries, an archive of vendored dependencies is also provided (only relevant for offline builds).
Requirements
This guide requires:
git
cargo
(suggested: latest stable toolchain from rustup)Release checklist
Prepare local branch+commit
git checkout -b release
Cargo.toml
. Usually you just want to bump the patch.cargo build
to ensureCargo.lock
would be updatedgit commit -a -m 'Release x.y.z'
; include some useful brief changelog.Prepare the release
./ci/prepare-release.sh
Validate that
origin
points to the canonical upstream repository and not your fork:git remote show origin
should not begithub.com/$yourusername/$project
but shouldbe under the organization ownership. The remote
yourname
should be for your fork.open and merge a PR for this release:
git push --set-upstream origin release
publish the artifacts (tag and crate):
git fetch origin && git checkout ${RELEASE_COMMIT}
Cargo.toml
has the expected versiongit-evtag sign v${RELEASE_VER}
git push --tags origin v${RELEASE_VER}
cargo publish
publish this release on GitHub:
target/${PROJECT}-${RELEASE_VER}-vendor.tar.gz
sha256sum target/package/${PROJECT}-${RELEASE_VER}.crate
sha256sum target/${PROJECT}-${RELEASE_VER}-vendor.tar.gz
clean up:
git push origin :release
cargo clean
git checkout main
Fedora packaging:
rust-bootupd
spec file in FedoraVersion
Release
back to1%{?dist}
spectool -g -S rust-bootupd.spec
kinit [email protected]
fedpkg new-sources <crate-name> <vendor-tarball-name>
fedpkg build
rust-bootupd
forPackages
link to GitHub release
"Update name
blankType
,Severity
andSuggestion
can be left asunspecified
unless it is a security release. In that case selectsecurity
with the appropriate severity.Stable karma
andUnstable
karma can be set to2
and-1
, respectively.RHCOS packaging:
rust-bootupd
spec fileVersion
Release
back to1%{?dist}
spectool -g -S rust-bootupd.spec
kinit [email protected]
rhpkg new-sources <crate-name> <vendor-tarball-name>
rhpkg build
CentOS Stream 9 packaging:
The text was updated successfully, but these errors were encountered: