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 KIC v2.8.0 #3186

Closed
28 tasks
mflendrich opened this issue Nov 23, 2022 · 2 comments
Closed
28 tasks

Release KIC v2.8.0 #3186

mflendrich opened this issue Nov 23, 2022 · 2 comments
Assignees
Labels
Milestone

Comments

@mflendrich
Copy link
Contributor

Release Type

minor release

For all releases Github Workflow Test Matrix Checkup

  • check the testing workflow (.github/workflows/test.yaml) and ensure that all matrix versions (.github/workflows/e2e.yaml 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)

For all releases Create Release Branch

  • ensure that you have up to date copy of main: git checkout main; git pull
  • create the release branch for the version (e.g. release/1.3.1): git branch -m release/x.y.z
  • 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.
  • retrieve the latest license report from FOSSA and save it to LICENSES
  • 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 release/x.y.z

For all releases Create a Release Pull Request

  • Check the latest 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.
  • Open a PR from your branch to main.
  • Once the PR is merged, initiate a release job. Your tag must use vX.Y.Z format. Set latest to true if this will be the latest release.
  • 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.

For all releases Publish images to Red Hat Catalog

  • Verify the image was pushed by a pipeline to the KIC project in Red Hat partners portal 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.
  • Click publish button for all tags related to the release that were pushed to the portal. That will publish the image to Red Hat Catalog.
  • Make sure the latest tag was added when asked. If forgot, the tag can be added from the dropdown menu.

For major/minor releases only Update Release documents

  • Create a new branch in the documentation site repo.
  • 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.
  • Add a section to app/_data/kong_versions.yml for your version.
  • Open a PR from your branch.
  • Inform and ping the @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.

Manual Docker image build

If the "Build and push development images" Github action is not appropriate for your release, or is not operating properly, you can build and push Docker images manually

Steps

  • Check out your release tag.
  • Run make container. Note that you can set the TAG environment variable if you need to override the current tag in Makefile.
  • Add additional tags for your container (e.g. docker tag kong/kubernetes-ingress-controller:1.2.0-alpine kong/kubernetes-ingress-controller:1.2.0; docker tag kong/kubernetes-ingress-controller:1.2.0-alpine kong/kubernetes-ingress-controller:1.2)
  • Create a temporary token for the kongbot user (see 1Password) and log in using it.
  • Push each of your tags (e.g. docker push kong/kubernetes-ingress-controller:1.2.0-alpine)
@mflendrich mflendrich added this to the KIC v2.8.0 milestone Nov 23, 2022
@mflendrich
Copy link
Contributor Author

Blockers:

@randmonkey
Copy link
Contributor

close this because we created #3199 using the new template.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants