butane icon indicating copy to clipboard operation
butane copied to clipboard

Release 0.16.0

Open bgilbert opened this issue 3 years ago • 3 comments

Release checklist:

Tagging:

  • [x] Write release notes in docs/release-notes.md. Get them reviewed and merged
    • [ ] If the release signing key has changed because a new Fedora release has gone stable, note the change as done here.
    • [ ] If doing a branched release, also include a PR to merge the docs/release-notes.md changes into main
  • [x] Ensure your local copy is up to date with the upstream main branch ([email protected]:coreos/butane.git)
  • [x] Ensure your working directory is clean (git clean -fdx)
  • [x] Ensure you can sign commits and any yubikeys/smartcards are plugged in
  • [x] Run ./tag_release.sh <vX.Y.z> <git commit hash>
  • [x] Push that tag to GitHub

Fedora packaging:

  • [x] Update the spec file in Fedora:
    • Bump the Version
    • Switch the Release back to 1%{?dist}
    • Remove any patches obsoleted by the new release
    • Run go-mods-to-bundled-provides.py | sort while inside of the butane directory you ran ./tag_release from & copy output into spec file in # Main package provides section
    • Update changelog
  • [x] Run spectool -g -S butane.spec
  • [x] Run kinit [email protected]
  • [x] Run fedpkg new-sources $(spectool -S butane.spec | sed 's:.*/::')
  • [x] PR the changes in Fedora
  • [x] Once the PR merges to rawhide, merge rawhide into the other relevant branches (e.g. f36) then push those, for example:
    git checkout rawhide
    git pull --ff-only
    git checkout f36
    git merge --ff-only rawhide
    git push origin f36
    
  • [x] On each of those branches run fedpkg build including rawhide.
  • [x] Once the builds have finished, submit them to bodhi, filling in:
    • butane for Packages
    • 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 docs/release-notes.md on GH tag"
    • Leave Update name blank
    • Type, Severity and Suggestion can be left as unspecified unless it is a security release. In that case select security with the appropriate severity.
    • Stable karma and Unstable karma can be set to 2 and -1, respectively.

GitHub release:

  • [x] Wait until the Bodhi update shows "Signed :heavy_check_mark:" in the Metadata box.
  • [x] Verify that the signing script can fetch the release binaries by running ./signing-ticket.sh test <x.y.z-r> <output-dir>, where r is the Release of the Fedora package without the dist tag (probably 1)
  • [x] Run ./signing-ticket.sh ticket <x.y.z-r> and paste the output into a releng ticket.
  • [ ] Wait for the ticket to be closed
  • [ ] Download the artifacts and signatures
  • [ ] Verify the signatures
  • [x] Find the new tag in the GitHub tag list and click the triple dots menu, and create a draft release for it.
  • [ ] Upload all the release artifacts and their signatures. Copy and paste the release notes from docs/release-notes.md here as well.
  • [ ] Publish the release

Quay release:

  • [ ] Visit the Quay tags page and wait for a versioned tag to appear
  • [ ] Click the gear next to the tag, select "Add New Tag", enter release, and confirm
  • [ ] Visit the Quay tags page for the legacy coreos/fcct repo and wait for a versioned tag to appear
  • [ ] Click the gear next to the tag, select "Add New Tag", enter release, and confirm

RHCOS packaging for the current RHCOS development release:

  • [x] Update the spec file
    • Bump the Version
    • Switch the Release back to 1%{?dist}
    • Remove any patches obsoleted by the new release
    • Run go-mods-to-bundled-provides.py | sort while inside of the butane directory you ran ./tag_release from & copy output into spec file in # Main package provides section
    • Update changelog
  • [x] Run spectool -g -S butane.spec
  • [x] Run kinit [email protected]
  • [x] Run rhpkg new-sources $(spectool -S butane.spec | sed 's:.*/::')
  • [x] PR the changes
  • [x] Get the PR reviewed and merge it
  • [x] Update your local repo and run rhpkg build
  • [x] File ticket similar to this one to sync the new version to mirror.openshift.com

CentOS Stream 9 packaging:

  • [ ] Create a rebase-c9s-butane issue in the internal team-operations repo and follow the steps there

Housekeeping:

bgilbert avatar Oct 10 '22 15:10 bgilbert

Butane now requires Go 1.17 and Fedora 35 still has 1.16. Fedora 35 only has about a month left until EOL, though, so we'll just skip the package update there.

bgilbert avatar Oct 14 '22 18:10 bgilbert

Signing ticket: https://pagure.io/releng/issue/11088

bgilbert avatar Oct 14 '22 19:10 bgilbert

ART ticket: https://issues.redhat.com/browse/ART-5021

bgilbert avatar Oct 14 '22 20:10 bgilbert