bootupd
bootupd copied to clipboard
Release 0.2.22
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:
- A web browser (and network connectivity)
git- GPG setup and personal key for signing
- git-evtag
cargo(suggested: latest stable toolchain from rustup)- A verified account on crates.io
- Write access to this GitHub project
- Upload access to this project on GitHub, crates.io
- Membership in the Fedora CoreOS Crates Owners group
Release checklist
-
Prepare local branch+commit
- [x]
git checkout -b release - [x] Bump the version number in
Cargo.toml. Usually you just want to bump the patch. - [x] Run
cargo buildto ensureCargo.lockwould be updated - [x] Commit changes
git commit -a -m 'Release x.y.z'; include some useful brief changelog.
- [x]
-
Prepare the release
- [x] Run
./ci/prepare-release.sh
- [x] Run
-
Validate that
originpoints to the canonical upstream repository and not your fork:git remote show originshould not begithub.com/$yourusername/$projectbut should be under the organization ownership. The remoteyournameshould 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
- [ ] get the PR reviewed, approved and merged
- [ ]
-
publish the artifacts (tag and crate):
- [ ]
git fetch origin && git checkout ${RELEASE_COMMIT} - [x] verify
Cargo.tomlhas the expected version - [x]
git-evtag sign v${RELEASE_VER} - [x]
git push --tags origin v${RELEASE_VER} - [x]
cargo publish
- [ ]
-
publish this release on GitHub:
- [x] find the new tag in the GitHub tag list, click the triple dots menu, and create a release for it
- [x] write a short changelog (i.e. re-use the PR content)
- [x] upload
target/${PROJECT}-${RELEASE_VER}-vendor.tar.gz - [x] record digests of local artifacts:
sha256sum target/package/${PROJECT}-${RELEASE_VER}.cratesha256sum target/${PROJECT}-${RELEASE_VER}-vendor.tar.gz
- [x] publish release
-
clean up:
- [ ]
git push origin :release - [ ]
cargo clean - [ ]
git checkout main
- [ ]
-
Fedora packaging:
- [x] update the
rust-bootupdspec file in Fedora- bump the
Version - switch the
Releaseback to1%{?dist} - remove any patches obsoleted by the new release
- update changelog
- bump the
- [x] run
spectool -g -S rust-bootupd.spec - [x] run
kinit [email protected] - [ ] run
fedpkg new-sources <crate-name> <vendor-tarball-name> - [ ] PR the changes in Fedora
- [ ] once the PR merges to rawhide, merge rawhide into the other relevant branches (e.g. f35) then push those, for example:
git checkout rawhide git pull --ff-only git checkout f35 git merge --ff-only rawhide git push origin f35 - [ ] on each of those branches run
fedpkg build - [ ] once the builds have finished, submit them to bodhi, filling in:
rust-bootupdforPackages- selecting the build(s) that just completed, except for the rawhide one (which gets submitted automatically)
- writing brief release notes like "New upstream release; see release notes at
link to GitHub release" - leave
Update nameblank Type,SeverityandSuggestioncan be left asunspecifiedunless it is a security release. In that case selectsecuritywith the appropriate severity.Stable karmaandUnstablekarma can be set to2and-1, respectively.
- [ ] submit a fast-track for FCOS testing-devel
- [ ] submit a fast-track for FCOS next-devel if it is open
- [x] update the
-
RHCOS packaging:
- [ ] update the
rust-bootupdspec file- bump the
Version - switch the
Releaseback to1%{?dist} - remove any patches obsoleted by the new release
- update changelog
- bump the
- [ ] run
spectool -g -S rust-bootupd.spec - [ ] run
kinit [email protected] - [ ] run
rhpkg new-sources <crate-name> <vendor-tarball-name> - [ ] PR the changes
- [ ] get the PR reviewed and merge it
- [ ] update your local repo and run
rhpkg build
- [ ] update the
CentOS Stream 9 packaging:
- [ ] to be written
Let's get https://github.com/coreos/bootupd/pull/715 in a release that we can push to F41.
Agree we should have a new release, how about also including patch to fix https://github.com/coreos/bootupd/issues/717 ?
Let's get a release out now for the fixes that are ready and we'll make another one once https://github.com/coreos/bootupd/issues/717 is fully ready
Let's get a release out now for the fixes that are ready and we'll make another one once #717 is fully ready
Sure, will take this.
Close this one as will do another new release 0.2.23 to include https://github.com/coreos/bootupd/pull/729