You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/steps-to-create-new-terminus-release.md
+47-16Lines changed: 47 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,62 +6,93 @@ If any of these steps should fail, abort the release-cutting process.
6
6
7
7
1. For major or minor version releases, the CMS Eco product owner will decide when the new version can be released. Patch releases can be shipped as soon as Engineering is satisfied.
8
8
9
-
2. Move into the Terminus project's root directory and check out your target branch (e.g. `3.x`). Update that branch by using `git pull` to ensure it is up to date.
9
+
2. Move into the Terminus project's root directory and check out your target branch (e.g. `4.x`). Update that branch by using `git pull` to ensure it is up to date.
10
10
11
11
3. Check out a new branch for the updated version you wish to release, giving it a descriptive name like `update_to_1.0.4`. Don't use the version tag as the branch name; tags and branches can't have the same name.
12
12
13
-
4. Update the version number in these two locations in the codebase:
13
+
4. Update the version number and changelog in the codebase:
14
14
1. TERMINUS_VERSION in `config/constants.yml`
15
-
2. Update `## Master` in `CHANGELOG.md` to be `## [<version_number>] - <today's_date_in_big_endian>`
16
-
17
-
5. Commit and push your update branch and open a pull request to merge into the target branch tested in **Step 2** above (e.g. `3.x`).
18
-
1. Get approval from someone authorized to approve Terminus PRs and merge this into your target branch.
15
+
2. Update `## <version>-dev` in `CHANGELOG.md` to be `## <version_number> - <today's_date_in_big_endian>`
16
+
3.**Important**: Ensure the changelog includes all customer-relevant changes since the previous release. Use `git log <previous_tag>..HEAD` to see what's changed and add missing PRs to the appropriate sections (Added, Fixed, Changed, etc.). Exclude internal-only changes like CI config updates, build script changes, or development tooling that don't affect end users.
17
+
18
+
5. Commit and push your update branch and open a pull request to merge into the target branch tested in **Step 2** above (e.g. `4.x`).
19
+
1. Monitor the GitHub Actions tests that are automatically triggered by the PR:
20
+
- Check test status: `gh pr checks <PR_NUMBER>`
21
+
- View failed test logs: `gh run view <RUN_ID> --log-failed`
22
+
- Some tests may fail due to infrastructure issues (e.g., "maximum number of Multidev environments reached") rather than code issues
23
+
- If tests fail due to "maximum number of Multidev environments reached":
24
+
- Check the test fixture site: `terminus multidev:list ci-terminus-composer`
3. ~~If there are no errors, you can delete the directory and proceed.~~
27
36
28
-
7. Create a CCB Ticket and get approval from the change committee. [https://getpantheon.atlassian.net/secure/CreateIssue.jspa?issuetype=ccb-change-request&pid=14450](https://getpantheon.atlassian.net/secure/CreateIssue.jspa?issuetype=ccb-change-request&pid=14450)
37
+
7. Create a CCB Ticket and get approval from the change committee:
38
+
1. **Create CCB Change Request** using Atlassian MCP tools (preferred) or web interface:
1. On your local machine, checkout the target branch (e.g. `3.x`) and pull down the latest changes.
32
-
2. Create a tag for the new release: `git tag 3.x.x`
33
-
3. Push the tag to Github: `git push origin 3.x.x.`
58
+
1. On your local machine, checkout the target branch (e.g. `4.x`) and pull down the latest changes.
59
+
2. Create a tag for the new release: `git tag 4.x.x`
60
+
3. Push the tag to Github: `git push origin 4.x.x.`
34
61
4. Browse to https://github.com/pantheon-systems/terminus/actions where you can see a GitHub Actions workflow has kicked off.
35
62
5. This will create a release automatically with the PHAR attached from the start (which prevents a broken `self:update` gap period).
36
63
37
-
9. Once the release is published, edit the notes to include the changes from this release. It's convenient to copy the markdown from [https://github.com/pantheon-systems/terminus/edit/3.x/CHANGELOG.md](https://github.com/pantheon-systems/terminus/edit/3.x/CHANGELOG.md). Omit the release number and date when copying.
64
+
9. Once the release is published, edit the notes to include the changes from this release. It's convenient to copy the markdown from [https://github.com/pantheon-systems/terminus/edit/4.x/CHANGELOG.md](https://github.com/pantheon-systems/terminus/edit/4.x/CHANGELOG.md). Omit the release number and date when copying.
38
65
39
66
10. For releases `3.x` or later, a PR will be created in the [Homebrew formula](https://github.com/pantheon-systems/homebrew-external) repository. Take a look to it and merge it to release to Homebrew.
40
67
41
68
11. Update your major branch's version number to `a.b.c+1-dev`, where `a.b.c` is the latest release's version:
42
69
1. In `config/constants.yml`, change the value
43
70
2. In `CHANGELOG.md`, add a new heading above your most recent release. It should also be in the format of `a.b.c+1-dev`.
44
71
45
-
12. Open a PR against https://github.com/pantheon-systems/documentation to update [https://github.com/pantheon-systems/documentation/edit/main/source/content/terminus/10-supported-terminus.md](https://github.com/pantheon-systems/documentation/edit/main/source/content/terminus/10-supported-terminus.md).
72
+
12. Open a PR against https://github.com/pantheon-systems/documentation to update the supported versions page [https://github.com/pantheon-systems/documentation/edit/main/source/content/terminus/10-supported-terminus.md](https://github.com/pantheon-systems/documentation/edit/main/source/content/terminus/10-supported-terminus.md).
46
73
1. Add the new **Version** at the top of the list. Fill in the **Release Date** with today's date. Leave the **EOL Date** blank.
47
74
2. For the most recent release on your major branch, fill in the **EOL Date**. This will be today's date plus one year.
48
75
3. If applicable, remove all but one old versions per major branch that are more than one year past EOL from the list. If some of the versions for a major branch have been removed from the list, the last line in the list should read `X.Y.Z or earlier`.
49
76
4. If applicable, update the Terminus [PHP Version Compatibility Matrix](https://docs.pantheon.io/terminus/supported-terminus#php-version-compatibility-matrix).
50
-
5. Create a new file in `source/releasenotes` for this release. You can use [this example](https://github.com/pantheon-systems/documentation/blob/main/source/releasenotes/2024-12-05-terminus-361.md?plain=1) as a starting point.
51
-
6. Set the PR title to `Terminus Release X.Y.Z` and do the following in the PR template:
77
+
5. Set the PR title to `Terminus Release X.Y.Z - Version Updates` and do the following in the PR template:
2. In the **Effect** section, add a link to your Terminus Release PR as the only bullet under **The following changes are already committed.**
55
81
3. Remove the **Remaining Work and Prerequisites** section.
56
82
4. In the **Release** section, fill the **When Ready** box with an `X` and remove the line **After date: $DATE.**
57
83
5. Create the PR as ready for approval (not a draft).
58
84
85
+
13. Create a separate PR for the release notes:
86
+
1. Create a new file in `source/releasenotes` for this release. You can use [this example](https://github.com/pantheon-systems/documentation/blob/main/source/releasenotes/2024-12-05-terminus-361.md?plain=1) as a starting point.
87
+
2. Set the PR title to `Terminus Release X.Y.Z - Release Notes`
88
+
3. Follow the same PR template guidelines as Step 12.
89
+
59
90
You can also use this as the contents for that PR description (remember to update the version and PR):
60
91
61
92
```
62
93
## Summary
63
94
64
-
**[Supported Terminus and PHP Versions](https://docs.pantheon.io/terminus/supported-terminus)** - Include Terminus 3.6.1
95
+
**[Supported Terminus and PHP Versions](https://docs.pantheon.io/terminus/supported-terminus)** - Include Terminus 4.1.0
0 commit comments