Files
pinniped/.github/ISSUE_TEMPLATE/release_checklist.md
2025-07-30 09:21:37 -05:00

3.7 KiB

name, about, title, labels, assignees
name about title labels assignees
Release checklist Checklist for maintainers to prepare for an upcoming release Release checklist for vX.X.X

Release checklist

  • Ensure that Pinniped's dependencies have been upgraded, to the extent desired by the team (refer to the diff output from the latest run of the all-golang-deps-updated CI job)
    • If you are updating golang in Pinniped, be sure to update golang in CI as well. Do a search-and-replace to update the version number everywhere in the pinniped ci branch.
    • If the Fosite library is being updated and the format of the content of the Supervisor's storage Secrets are changed, or if any change to our own code changes the format of the content of the Supervisor's session storage Secrets, then be sure to update the accessTokenStorageVersion, authorizeCodeStorageVersion, oidcStorageVersion, pkceStorageVersion, refreshTokenStorageVersion, variables in files such as internal/fositestorage/accesstoken/accesstoken.go. Failing tests should signal the need to update these values.
    • For go.mod direct dependencies that are v2 or above, such as github.com/google/go-github/vXX, check to see if there is a new major version available. Try using hack/update-go-mod/update-majors.sh.
    • Evaluate all replace directives in the go.mod file. Are those versions up-to-date? Can any replace directives be removed?
    • Evaluate all overrides in the hack/update-go-mod/overrides.conf file. Are those versions up-to-date? Can those overrides be removed?
  • Ensure that Pinniped's codegen is up-to-date with the latest Kubernetes releases by making sure this file is updated compared to the latest releases listed here for active branches and here for non-active branches
  • Ensure that the k8s-code-generator CI job definitions are up-to-date with the latest Go, K8s, and controller-gen versions
  • All relevant feature and docs PRs are merged
  • The main pipeline is green, up to and including the ready-to-release job. Check that the expected git commit has passed the ready-to-release job.
  • Manually trigger the jobs run-int-misc, run-int-cloud-providers, and run-int-k8s-versions in the main pipeline to run other pre-release tests. Depending on the number of Concourse workers, you may need to run these one at a time.
  • Optional: a blog post for the release is written and submitted as a PR but not merged yet
  • All merged user stories are accepted (manually tested)
  • Only after all stories are accepted, manually trigger the release job to create a draft GitHub release
  • Manually edit the draft release notes on the GitHub release to describe the contents of the release, using the format which was automatically added to the draft release
  • Publish (i.e. make public) the draft release
  • After making the release public, the jobs in the main pipeline beyond the release job should auto-trigger, so check to make sure that they passed
  • Edit the blog post's date to make it match the actual release date, and merge the blog post PR to make it live on the website
  • Publicize the release via tweets, etc.
  • Close this issue