The Ingress2Gateway Project is a CLI project that helps translate Ingress and provider related resources to Gateway API resources.
To simplify release notes generation, we recommend using the Kubernetes release notes generator:
go install k8s.io/release/cmd/release-notes@latest
export GITHUB_TOKEN=your_token_here
release-notes --start-sha EXAMPLE_COMMIT --end-sha EXAMPLE_COMMIT --branch main --repo ingress2gateway --org kubernetes-sigs --required-author=""
This output will likely need to be reorganized and cleaned up a bit, but it
provides a good starting point. Once you're satisfied with the changelog, create
a PR. This must go through the regular PR review process and get merged into the
main
branch. Approval of the PR indicates community consensus for a new
release.
- Once the new release version is determined, update
CurrentVersion
in pkg/i2gw/ingress2gateway.go so the translated Gateways will reflect the correct ingress2gateway tool version that generated them.
- Create a new branch in your fork named something like
<githubuser>/release-x.x.x
. Use the new branch in the upcoming steps. - Use
git
to cherry-pick all relevant PRs into your branch. - Update the version references in the codebase with the new semver tag.
- Create a pull request of the
<githubuser>/release-x.x.x
branch into therelease-x.x
branch upstream (which should already exist since this is a patch release). Add a hold on this PR waiting for at least one maintainer/codeowner to provide algtm
. - Create a tag using the
HEAD
of therelease-x.x
branch. This can be done using thegit
CLI or Github's [release][release] page.
- Cut a
release-major.minor
branch that we can tag things in as needed. - Check out the
release-major.minor
release branch locally. - Update the version references in the codebase with the new semver tag.
- Verify the changelog is up to date with the desired changes.
- Create a tag using the
HEAD
of therelease-x.x
branch. This can be done usinggit tag -sa $VERSION
CLI or Github's [release][release] page. - Run
git push origin $VERSION
, this will trigger a github workflow that will create the release. - Verify the releases page to ensure that the release meets the expectations.
- Optional: Send an annoncement email to
[email protected]
with the subject[ANNOUNCE] ingress2gateway $VERSION is released
- Open a PR with changes of the version references in the codebase.
- Include necessary changelog updates to CHANGELOG.md in this PR.
- Merge the PR
- Tag the release using the commit on main where the PR merged. This can be done using the git CLI
git tag -sa $VERSION
. - Run
git push origin $VERSION
, this will trigger a github workflow that will create the release. - Verify the releases page to ensure that the release meets the expectations.
- Optional: Send an annoncement email to
[email protected]
with the subject[ANNOUNCE] ingress2gateway $VERSION is released