Skip to content

Commit 0262926

Browse files
docs: update release docs (#8664)
* docs: update release docs * cleaned up new brenach creation section
1 parent ec278c8 commit 0262926

File tree

1 file changed

+69
-30
lines changed

1 file changed

+69
-30
lines changed

docs/dev/release-management.md

Lines changed: 69 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Tagging a release
22

3-
Before tagging a new release, please run the [compatibility e2e test suite](https://github.com/cosmos/ibc-go/actions/workflows/e2e-compatibility.yaml) for the corresponding release line.
3+
## New release branch setup
44

5-
## New major release branch
5+
### New major release branch
66

77
Pre-requisites for creating a release branch for a new major version:
88

@@ -14,16 +14,79 @@ Once the above pre-requisites are satisfied:
1414
1. Start on `main`.
1515
2. Create the release branch (`release/vX.XX.X`). For example: `release/v3.0.x`.
1616

17-
## New minor release branch
17+
### New minor release branch
1818

1919
1. Start on the latest release branch in the same major release line. For example: the latest release branch in the `v3` release line is `v3.2.x`.
2020
2. Create branch from the release branch. For example: create branch `release/v3.3.x` from `v3.2.x`.
2121

22+
### Post branch creation
2223
Post-requisites for both new major and minor release branches:
2324

24-
1. Add branch protection rules to new release branch.
25-
2. Add backport task to [`mergify.yml`](https://github.com/cosmos/ibc-go/blob/main/.github/mergify.yml).
26-
3. Create label for backport (e.g.`backport-to-v3.0.x`).
25+
1. Add backport task to [`mergify.yml`](https://github.com/cosmos/ibc-go/blob/main/.github/mergify.yml).
26+
2. Create label for backport (e.g.`backport-to-v3.0.x`).
27+
3. Add the branch to `e2e-compatibility.yaml` in the `workflow_dispatch.inputs.release-branch.options` list.
28+
29+
## General release procedure
30+
31+
For specifics around point release procedure, see [the documentation for that below](#point-release-procedure).
32+
33+
NOTE: Since ibc-go v10, we release sub-modules (e.g. `modules/light-clients/08-wasm/v10.3.0`) from the same release branch as `ibc-go`.
34+
35+
### 0: Before release
36+
37+
1. Before tagging a new release, make sure to run the [compatibility e2e test suite](https://github.com/cosmos/ibc-go/actions/workflows/e2e-compatibility.yaml) for the corresponding release line.
38+
2. Make sure the CHANGELOG.md is updated.
39+
40+
### 1: Release ibc-go
41+
42+
1. Create a new release in [GitHub](https://github.com/cosmos/ibc-go/releases) with "Draft new release".
43+
2. Select the release branch (e.g. `release/v10.4.x`)
44+
3. Set the correct tag (e.g. `v10.4.0`)
45+
4. Write release notes
46+
5. Check the `This is a pre-release` checkbox if needed (this applies for alpha, beta and release candidates).
47+
48+
### 2: Release sub-modules
49+
50+
For each sub-module, from the release branch:
51+
1. Remove any ibc-go `replace` directives in the sub-module's `go.mod`.
52+
```diff
53+
replace (
54+
- github.com/cosmos/ibc-go/v10 => ../../../
55+
```
56+
2. Update the ibc-go version in the sub-modules's `go.mod` to the version release in the previous step.
57+
```diff
58+
- github.com/cosmos/ibc-go/v10 v10.3.0
59+
+ github.com/cosmos/ibc-go/v10 v10.4.0
60+
```
61+
3. Create a PR to the release branch, and after CI finishes, merge it.
62+
4. Create a new release in [GitHub](https://github.com/cosmos/ibc-go/releases) with "Draft new release".
63+
5. Select the release branch (e.g. `release/v10.4.x`)
64+
6. Set the correct tag (e.g. `modules/light-clients/08-wasm/v10.4.0`)
65+
7. Write release notes
66+
8. Check the `This is a pre-release` checkbox if needed (this applies for alpha, beta and release candidates).
67+
68+
### 3: Post-release procedure
69+
70+
1. Clean up the release branch
71+
- Put back the sub-module `replace` directives in the sub-module's `go.mod`.
72+
- Put back the `[Unreleased]` section in the release branch (e.g. `release/v1.0.x`) with clean sections for each of the types of changelog entries, so that entries will be added for the PRs that are backported for the next release.
73+
2. Clean up the main branch
74+
- Update [`CHANGELOG.md`](../../CHANGELOG.md) in `main` (remove from the `[Unreleased]` section any items that are part of the release).`
75+
- Update [version matrix](../../RELEASES.md#version-matrix) in `RELEASES.md`: add the new release and remove any tags that might not be recommended anymore.
76+
- Additionally, for the first point release of a new major or minor release branch:
77+
- Update the table of supported release lines (and End of Life dates) in [`RELEASES.md`](../../RELEASES.md): add the new release line and remove any release lines that might have become discontinued.
78+
- Update the [list of supported release lines in README.md](../../RELEASES.md#releases), if necessary.
79+
- Update the manual [e2e `simd`](https://github.com/cosmos/ibc-go/blob/main/.github/workflows/e2e-manual-simd.yaml) test workflow:
80+
- Remove any tags that might not be recommended anymore.
81+
- Update docs site:
82+
- If the release is occurring on the main branch, on the latest version, then run `npm run docusaurus docs:version vX.Y.Z` in the `docs/` directory. (where `X.Y.Z` is the new version number)
83+
- If the release is occurring on an older release branch, then make a PR to the main branch called `docs: new release vX.Y.Z` doing the following:
84+
- Update the content of the docs found in `docs/versioned_docs/version-vx.y.z` if needed. (where `x.y.z` is the previous version number)
85+
- Update the version number of the older release branch by changing the version number of the older release branch in:
86+
- In `docs/versions.json`.
87+
- Rename `docs/versioned_sidebars/version-vx.y.z-sidebars.json`
88+
- Rename `docs/versioned_docs/version-vx.y.z`
89+
- After changes to docs site are deployed, check [ibc.cosmos.network](https://ibc.cosmos.network) is updated.
2790

2891
## Point release procedure
2992

@@ -60,27 +123,3 @@ Finally, when a point release is ready to be made:
60123
- Write release notes.
61124
- Check the `This is a pre-release` checkbox if needed (this applies for alpha, beta and release candidates).
62125

63-
### Post-release procedure
64-
65-
- Update [`CHANGELOG.md`](../../CHANGELOG.md) in `main` (remove from the `[Unreleased]` section any items that are part of the release).`
66-
- Put back the `[Unreleased]` section in the release branch (e.g. `release/v1.0.x`) with clean sections for each of the types of changelog entries, so that entries will be added for the PRs that are backported for the next release.
67-
- Update [version matrix](../../RELEASES.md#version-matrix) in `RELEASES.md`: add the new release and remove any tags that might not be recommended anymore.
68-
69-
Additionally, for the first point release of a new major or minor release branch:
70-
71-
- Update the table of supported release lines (and End of Life dates) in [`RELEASES.md`](../../RELEASES.md): add the new release line and remove any release lines that might have become discontinued.
72-
- Update the [list of supported release lines in README.md](../../RELEASES.md#releases), if necessary.
73-
- Update the manual [e2e `simd`](https://github.com/cosmos/ibc-go/blob/main/.github/workflows/e2e-manual-simd.yaml) test workflow:
74-
- Remove any tags that might not be recommended anymore.
75-
- Update docs site:
76-
- If the release is occurring on the main branch, on the latest version, then run `npm run docusaurus docs:version vX.Y.Z` in the `docs/` directory. (where `X.Y.Z` is the new version number)
77-
- If the release is occurring on an older release branch, then make a PR to the main branch called `docs: new release vX.Y.Z` doing the following:
78-
- Update the content of the docs found in `docs/versioned_docs/version-vx.y.z` if needed. (where `x.y.z` is the previous version number)
79-
- Update the version number of the older release branch by changing the version number of the older release branch in:
80-
- In `docs/versions.json`.
81-
- Rename `docs/versioned_sidebars/version-vx.y.z-sidebars.json`
82-
- Rename `docs/versioned_docs/version-vx.y.z`
83-
- After changes to docs site are deployed, check [ibc.cosmos.network](https://ibc.cosmos.network) is updated.
84-
- Open issue in [SDK tutorials repo](https://github.com/cosmos/sdk-tutorials) to update tutorials to the released version of ibc-go.
85-
86-
See [this PR](https://github.com/cosmos/ibc-go/pull/2919) for an example of the involved changes.

0 commit comments

Comments
 (0)