title | label |
---|---|
API Gateway release process |
internal |
This document describes how to create an API Gateway release.
An API Gateway release consists of:
- A GitHub release with automated changelog generation
- Artifacts, including
api-gateway
binary and source code archives - A release tag and branch holding the code
-
Create a release branch in the
api-gateway
repository. The name of this branch must follow therelease-x.y
pattern, such asrelease-1.2
.NOTE: This step applies only to new major and minor versions.
git fetch upstream git checkout --no-track -b {RELEASE_NAME} upstream/main git push upstream {RELEASE_NAME}
-
Create a PR to
api-gateway/release-x.y
that triggers the presubmit job forapi-gateway
. -
After merging the PR, create a tag on the release branch that has the value of the new
api-gateway
release version.git tag -a {RELEASE_VERSION} -m "Release {RELEASE_VERSION}"
Replace {RELEASE_VERSION} with the new
api-gateway
release version, for example,1.2.0
. -
Create the new version.
-
Push the tag to trigger a postsubmit job that creates a GitHub release. Check whether the release is available under releases.
git push upstream {RELEASE_VERSION}
-
Verify the Prow Status of the matching revision ({RELEASE_VERSION}).
-
If the postsubmit job failed, you can re-trigger it by removing the tag from upstream and pushing it again.
git push --delete upstream {RELEASE_VERSION} git push upstream {RELEASE_VERSION}
-
-
After the release, a tarball is available on Github update Kyma resources.
Create a PR to Kyma and include details on the features released with the new API Gateway version. Provide a description, as in the example:
**Description** Changes proposed in this pull request: Bump `api-gateway` component to 1.2.0, which includes: - Include support of namespaces on APIRule CRD - Refactoring and optimizations - [Release changelog and info](https://github.com/kyma-project/api-gateway/releases/tag/1.2.0) **Related issue(s)** https://github.com/kyma-project/api-gateway/issues/12345
In this PR, update the release version in the Chart and the image versions in the Chart values.
-
Configure Dependabot to watch the release branch if a new one was created.