Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 2.10.4 #4393

Closed
17 of 32 tasks
czeslavo opened this issue Jul 24, 2023 · 1 comment
Closed
17 of 32 tasks

Release 2.10.4 #4393

czeslavo opened this issue Jul 24, 2023 · 1 comment
Assignees
Milestone

Comments

@czeslavo
Copy link
Contributor

czeslavo commented Jul 24, 2023

Release Type

patch

For all releases Github Workflow Test Matrix Checkup

  • Check the testing workflow (.github/workflows/_integration_tests.yaml) and ensure that all matrix versions (.github/workflows/_e2e_tests.yaml (for both K8s and Istio with K8s matrix) and .github/workflows/release.yaml) are up to date for various component releases. If there have been any new releases (major, minor or patch) of those components since the latest version seen in that configuration make sure the new versions get added before proceeding with the release. Remove any versions that are no longer supported by the environment provider.
  • Kubernetes (via KIND and the latest image available when creating a new rapid channel cluster from the GKE new cluster wizard)
  • Istio (via Istio's releases page)

Bump Kong Gateway version in manifests

  • Note: it might be possible that the latest Gateway version is not compatible with KIC and code changes are required. In such case, a decision whether to release with no compliance with the latest Gateway version should be made on a team level.
  • Check the latest minor Kong Gateway release in Kong releases.
  • Make sure the image tag in config/image/enterprise/kustomization.yaml and config/image/oss/kustomization.yaml is updated accordingly.
  • Run make manifests to regenerate manifests using the modified kustomizations and open a PR with the changes (similarly to this PR).

For major/minor releases Create release/<MAJOR>.<MINOR>.x Branch

  • Create the release/<MAJOR>.<MINOR>.x branch at the place where you want to branch of off main

For all releases Create prepare-release/x.y.z Branch

  • Ensure that you have up to date copy of main: git checkout main; git pull or a targeted release branch e.g. release/2.7.x: git checkout release/2.7.x; git pull
  • Create the prepare-release branch for the version (e.g. prepare-release/2.7.1): git branch -m prepare-release/2.7.1
  • Make any final adjustments to CHANGELOG.md. Double-check that dates are correct, that link anchors point to the correct header, and that you've included a link to the Github compare link at the end. If there were any RC releases before this version, fold their changes into the final release entry.
  • Resolve all licensing issues that FOSSA has detected. Go to Issues tab in FOSSA's KIC project and resolve every issue, inspecting if it's a false positive or not. ignored.go script should be useful to look for issues that have been already resolved and reappeared due to version changes.
  • Update ignored.json following instructions in README.
  • Retrieve the latest license report from FOSSA and save it to LICENSES (go to Reports tab in FOSSA's KIC project, select 'plain text' format, tick 'direct dependencies' and download it).
  • Ensure base manifest versions use the new version (config/image/enterprise/kustomization.yaml and config/image/oss/kustomization.yaml) and update manifest files: make manifests
  • Push the branch up to the remote: git push --set-upstream origin prepare-release/x.y.z

For all releases Create a Release Pull Request

  • Check the latest E2E nightly test run to confirm that E2E tests are succeeding. If you are backporting features into a non-main branch, run a targeted E2E job against that branch or use ci/run-e2e label on the PR preparing the release.
  • Open a PR from your branch to main. Set a backport release/X.Y.Z label.
  • If this is a patch release, ensure that the release branch (e.g. release/2.9.x) compared against the latest patch for this minor release (e.g. v2.9.0) includes the expected changes that the release should include (e.g. by checking https://github.com/kong/kubernetes-ingress-controller/compare/v2.9.0..release/2.9.x).
  • Once the PR is merged (the prepare-release/x.y.z branch will get automatically removed), approve and merge the automatic backport PR and initiate a release job on the release branch. Your tag must use vX.Y.Z format. Set latest to true if this is be the latest release. That should be the case if we a new major.minor release is done or a patch release is done on the latest minor version.
  • CI will validate the requested version, build and push an image, and run tests against the image before finally creating a tag and publishing a release. If tests fail, CI will push the image but not the tag or release. Investigate the failure, correct it as needed, and start a new release job.
  • The release workflow (.github/workflows/release.yaml) will update the latest branch - if the released version was set to be latest - to the just released tag.

For major/minor releases only Update Release documents

  • Trigger release_docs workflow. Note that you will need to update the new version's navigation manifest (e.g. for 2.7 to use the new file after.
  • Ensure a draft PR is created in docs.konghq.com repository.
  • Update articles in the new version as needed.
  • Update references/version-compatibility.md to include the new versions (make sure you capture any new Kubernetes/Istio versions that have been tested)
  • Copy app/_data/docs_nav_kic_OLDVERSION.yml to app/_data/docs_nav_kic_NEWVERSION.yml and update the release field to NEWVERSION. Add entries for any new articles.
  • Make sure that app/_data/docs_nav_kic_NEWVERSION.yml links to the latest generated custom-resources-X.X.X.md.
  • Add a section to app/_data/kong_versions.yml for your version.
  • Add entries in support policy documents: app/_includes/md/support-policy.md and app/_src/kubernetes-ingress-controller/support-policy.md.
  • Mark the PR ready for review.
  • Inform and ping the @Kong/team-k8s via slack of impending release with a link to the release PR.

Release Troubleshooting

The Release Troubleshooting guide covers strategies for dealing with a release that has failed.

@czeslavo
Copy link
Contributor Author

Blocked by #4384.

@czeslavo czeslavo removed the blocked label Jul 25, 2023
@czeslavo czeslavo self-assigned this Jul 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant