Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update release process to support multiple version #2014

Merged
merged 9 commits into from Dec 7, 2023

Conversation

nickfyson
Copy link
Contributor

@nickfyson nickfyson commented Dec 4, 2023

This PR udpates the release process in order to handle maintaining multiple versions. To a large extent this reintroduces the logic removed in...

...but adapted in order to avoid hardcoding version numbers. The process should also support maintaining two or more older version of the action, should that ever be required.

The process to release a new version will now be to first bump the major version number and merge that PR to main. Then run the update-release-branch.yml workflow, which will...

  • create the releases/vNew branch
  • open a PR against this new release branch from main
  • on merging the release PR...
    • the update-release-branch.yml will be triggered again, this time opening mergeback PRs against from releases/vLatest to all previous supported release branches
    • the update-release-branch.yml workflow will also run, updating the tags for vLatest as required and if the release branch is the latest one then also opening a backport PR to main

Note that both these workflows will also be triggered when mergeback PRs are merged against older release branches, but in this case update-release-branch.yml will take no action and update-release-branch.yml will run only the operations to ensure tags for the relevant version are up to date.

Retiring older versions is now a matter of updating OLDEST_SUPPORTED_MAJOR_VERSION in release-branches.py, see the new section in CONTRIBUTING.md for details.

NB The changes in this PR have been tested in a private fork of the repository.

Merge / deployment checklist

  • Confirm this change is backwards compatible with existing workflows.
  • Confirm the readme has been updated if necessary.
  • Confirm the changelog has been updated if necessary.

@nickfyson nickfyson marked this pull request as ready for review December 4, 2023 22:16
@nickfyson nickfyson requested a review from a team as a code owner December 4, 2023 22:16
Copy link
Contributor

@henrymercer henrymercer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! My main comment is around what happens the first time we backport a new major version of the Action.

.github/actions/release-branches/release-branches.py Outdated Show resolved Hide resolved
.github/actions/release-branches/release-branches.py Outdated Show resolved Hide resolved
.github/actions/release-initialise/action.yml Outdated Show resolved Hide resolved
.github/update-release-branch.py Outdated Show resolved Hide resolved
.github/update-release-branch.py Outdated Show resolved Hide resolved
.github/workflows/post-release-mergeback.yml Outdated Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
.github/workflows/update-release-branch.yml Outdated Show resolved Hide resolved
Copy link
Contributor

@henrymercer henrymercer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excellent, thanks for addressing my comments!

@nickfyson nickfyson merged commit e1d1fad into main Dec 7, 2023
356 checks passed
@nickfyson nickfyson deleted the nickfyson/update-release-process branch December 7, 2023 10:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants