Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 49 additions & 49 deletions site/content/en/contributions/RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,48 +40,48 @@ export GITHUB_REMOTE=origin

__Note:__ The release candidate version should be in the format `${MAJOR_VERSION}.${MINOR_VERSION}.0-rc.${RELEASE_CANDIDATE_NUMBER}`.
3. Sign, commit, and push your changes to your fork.
4. Submit a [Pull Request][] to merge the changes into the `main` branch. Do not proceed until your PR has merged and
the [Build and Test][] has successfully completed.
5. Create a new release branch from `main`. The release branch should be named
4. Submit a [Pull Request][] to merge the changes into the `main` branch.
5. Do not proceed until your PR has merged and the [Build and Test][] has successfully completed.
6. Create a new release branch from `main`. The release branch should be named
`release/v${MAJOR_VERSION}.${MINOR_VERSION}`, e.g. `release/v0.3`.

```shell
git checkout -b release/v${MAJOR_VERSION}.${MINOR_VERSION}
```

6. Push the branch to the Envoy Gateway repo.
7. Push the branch to the Envoy Gateway repo.

```shell
git push ${GITHUB_REMOTE} release/v${MAJOR_VERSION}.${MINOR_VERSION}
```

7. Create a topic branch for updating the Envoy proxy image and Envoy Ratelimit image to the tag supported by the release.
8. Create a topic branch for updating the Envoy proxy image and Envoy Ratelimit image to the tag supported by the release.
Please note that the tags should be updated in both the source code and the Helm chart. Reference [PR #2098][]
for additional details on updating the image tag.
8. Sign, commit, and push your changes to your fork.
9. Submit a [Pull Request][] to merge the changes into the `release/v${MAJOR_VERSION}.${MINOR_VERSION}` branch. Do not
proceed until your PR has merged into the release branch and the [Build and Test][] has completed for your PR.
10. Ensure your release branch is up-to-date and tag the head of your release branch with the release candidate number.
9. Sign, commit, and push your changes to your fork.
10. Submit a [Pull Request][] to merge the changes into the `release/v${MAJOR_VERSION}.${MINOR_VERSION}` branch.
11. Do not proceed until your PR has merged into the release branch and the [Build and Test][] has completed for your PR.
12. Ensure your release branch is up-to-date and tag the head of your release branch with the release candidate number.

```shell
git tag -a v${MAJOR_VERSION}.${MINOR_VERSION}.0-rc.${RELEASE_CANDIDATE_NUMBER} -m 'Envoy Gateway v${MAJOR_VERSION}.${MINOR_VERSION}.0-rc.${RELEASE_CANDIDATE_NUMBER} Release Candidate'
```

11. Push the tag to the Envoy Gateway repository.
13. Push the tag to the Envoy Gateway repository.

```shell
git push ${GITHUB_REMOTE} v${MAJOR_VERSION}.${MINOR_VERSION}.0-rc.${RELEASE_CANDIDATE_NUMBER}
```

12. This will trigger the [release GitHub action][] that generates the release, release artifacts, etc.
13. Confirm that the [release workflow][] completed successfully.
14. Confirm that the Envoy Gateway [image][] with the correct release tag was published to Docker Hub.
15. Confirm that the [release][] was created.
16. Note that the [Quickstart][] references are __not__ updated for release candidates. However, test
14. This will trigger the [release GitHub action][] that generates the release, release artifacts, etc.
15. Confirm that the [release workflow][] completed successfully.
16. Confirm that the Envoy Gateway [image][] with the correct release tag was published to Docker Hub.
17. Confirm that the [release][] was created.
18. Note that the [Quickstart][] references are __not__ updated for release candidates. However, test
the quickstart steps using the release candidate by manually updating the links.
17. [Generate][] the GitHub changelog.
18. Ensure you check the "This is a pre-release" checkbox when editing the GitHub release.
19. If you find any bugs in this process, please create an issue.
19. [Generate][] the GitHub changelog.
20. Ensure you check the "This is a pre-release" checkbox when editing the GitHub release.
21. If you find any bugs in this process, please create an issue.

## Minor Release

Expand Down Expand Up @@ -170,16 +170,17 @@ export GITHUB_REMOTE=origin
```

3. Sign, commit, and push your changes to your fork.
4. Submit a [Pull Request][] to merge the changes into the `main` branch. Do not proceed until all your PRs have merged
and the [Build and Test][] has completed for your final PR.
4. Submit a [Pull Request][] to merge the changes into the `main` branch.

5. Checkout the release branch.
5. Do not proceed until all your PRs have merged and the [Build and Test][] has completed for your final PR.

6. Checkout the release branch.

```shell
git checkout release/v${MAJOR_VERSION}.${MINOR_VERSION} $GITHUB_REMOTE/release/v${MAJOR_VERSION}.${MINOR_VERSION}
```

6. If the tip of the release branch does not match the tip of `main`, perform the following:
7. If the tip of the release branch does not match the tip of `main`, perform the following:

1. Create a topic branch from the release branch.
2. Cherry-pick the commits from `main` that differ from the release branch, e.g. `git cherry-pick <present commit in rc>..<latest commit on main> -s`
Expand All @@ -199,26 +200,26 @@ export GITHUB_REMOTE=origin
git pull $GITHUB_REMOTE release/v${MAJOR_VERSION}.${MINOR_VERSION}
```

7. Tag the head of your release branch with the release tag. For example:
8. Tag the head of your release branch with the release tag. For example:

```shell
git tag -a v${MAJOR_VERSION}.${MINOR_VERSION}.0 -m 'Envoy Gateway v${MAJOR_VERSION}.${MINOR_VERSION}.0 Release'
```

__Note:__ The tag version differs from the release branch by including the `.0` patch version.

8. Push the tag to the Envoy Gateway repository.
9. Push the tag to the Envoy Gateway repository.

```shell
git push origin v${MAJOR_VERSION}.${MINOR_VERSION}.0
```

9. This will trigger the [release GitHub action][] that generates the release, release artifacts, etc.
10. Confirm that the [release workflow][] completed successfully.
11. Confirm that the Envoy Gateway [image][] with the correct release tag was published to Docker Hub.
12. Confirm that the [release][] was created.
13. Confirm that the steps in the [Quickstart][] work as expected.
14. [Generate][] the GitHub changelog and include the following text at the beginning of the release page:
10. This will trigger the [release GitHub action][] that generates the release, release artifacts, etc.
11. Confirm that the [release workflow][] completed successfully.
12. Confirm that the Envoy Gateway [image][] with the correct release tag was published to Docker Hub.
13. Confirm that the [release][] was created.
14. Confirm that the steps in the [Quickstart][] work as expected.
15. [Generate][] the GitHub changelog and include the following text at the beginning of the release page:

```console
# Release Announcement
Expand All @@ -227,7 +228,7 @@ export GITHUB_REMOTE=origin
(https://gateway.envoyproxy.io/news/releases/notes/v${MAJOR_VERSION}.${MINOR_VERSION}.html) to learn more about the release.
```

15. Update the `lastVersionTag` in `test/e2e/tests/eg_upgrade.go` to reflect the latest prior release. Refer to [PR #4666] as an example.
16. Update the `lastVersionTag` in `test/e2e/tests/eg_upgrade.go` to reflect the latest prior release. Refer to [PR #4666] as an example.

If you find any bugs in this process, please create an issue.

Expand Down Expand Up @@ -313,21 +314,20 @@ export GITHUB_REMOTE=origin
```

3. Sign, commit, and push your changes to your fork.
4. Submit a [Pull Request][] to merge the changes into the `main` branch. Do not proceed until all your PRs have merged
and the [Build and Test][] has completed for your final PR.

5. Checkout the release branch.
4. Submit a [Pull Request][] to merge the changes into the `main` branch.
5. Do not proceed until all your PRs have merged and the [Build and Test][] has completed for your final PR.
6. Checkout the release branch.

```shell
git checkout release/v${MAJOR_VERSION}.${MINOR_VERSION} $GITHUB_REMOTE/release/v${MAJOR_VERSION}.${MINOR_VERSION}
```

6. Cherry-pick the release note and release announcement that you created in the previous step to the release branch. The release note will be included in the release artifacts.
7. Cherry-pick the release note and release announcement that you created in the previous step to the release branch. The release note will be included in the release artifacts.
1. Create a topic branch from the release branch.
2. Cherry-pick the release note and release announcement commit from `main` to the topic branch.
3. Submit a PR to merge the topic from of your fork into the release branch.

7. Cherry-pick the commits that you want to include in the patch release.
8. Cherry-pick the commits that you want to include in the patch release.
1. Create a topic branch from the release branch.
2. Cherry-pick the commits from `main` that you want to include in the patch release.
3. Run tests locally, e.g. `make lint`.
Expand All @@ -346,24 +346,24 @@ export GITHUB_REMOTE=origin
git pull $GITHUB_REMOTE release/v${MAJOR_VERSION}.${MINOR_VERSION}
```

7. Tag the head of your release branch with the release tag. For example:
9. Tag the head of your release branch with the release tag. For example:

```shell
git tag -a v${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION} -m 'Envoy Gateway v${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION} Release'
```

8. Push the tag to the Envoy Gateway repository.
10. Push the tag to the Envoy Gateway repository.

```shell
git push origin v${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION
```
```shell
git push origin v${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION
```

9. This will trigger the [release GitHub action][] that generates the release, release artifacts, etc.
10. Confirm that the [release workflow][] completed successfully.
11. Confirm that the Envoy Gateway [image][] with the correct release tag was published to Docker Hub.
12. Confirm that the [release][] was created.
13. Confirm that the steps in the [Quickstart][] work as expected.
14. [Generate][] the GitHub changelog and include the following text at the beginning of the release page:
11. This will trigger the [release GitHub action][] that generates the release, release artifacts, etc.
12. Confirm that the [release workflow][] completed successfully.
13. Confirm that the Envoy Gateway [image][] with the correct release tag was published to Docker Hub.
14. Confirm that the [release][] was created.
15. Confirm that the steps in the [Quickstart][] work as expected.
16. [Generate][] the GitHub changelog and include the following text at the beginning of the release page:

```console
# Release Announcement
Expand All @@ -372,7 +372,7 @@ export GITHUB_REMOTE=origin
(https://gateway.envoyproxy.io/news/releases/notes/v${MAJOR_VERSION}.${MINOR_VERSION}.${MINOR_VERSION}.html) to learn more about the release.
```

15. If this patch release is the latest release, update the `lastVersionTag` in `test/e2e/tests/eg_upgrade.go` to reflect the latest prior release. Refer to [PR #4666] as an example.
17. If this patch release is the latest release, update the `lastVersionTag` in `test/e2e/tests/eg_upgrade.go` to reflect the latest prior release. Refer to [PR #4666] as an example.

### Announce the Release

Expand Down