Adds a new GitHub Action to prepare extension release.
To be used with a manual GH workflow. It takes versions, then starts a branch and creates a PR with the checklist.
The aim is to automate and unify the release process across our repos.
Screenshots:
Detailed test instructions:
Add a workflow in another repo following the instructions from packages/js/github-actions/actions/prepare-extension-release/README.md, replacing woocommerce/grow/prepare-extension-release@actions-v1 with woocommerce/grow/prepare-extension-release@actions-v1.5.2-pre as this PR is not yet released.
The further improvements automation I was trying to implement but didn't finish:
(tricky) Make the workflow run woorelease simulate. So we could reduce two more manual steps for the developer, and serve them just a .zip package to smoke test & changelog to inspect. It's tricky, as requires setting up all woorelease keys on GHA, and makes the simulation repo harder to inspect.
(tricky) Make another workflow pick up the approval, and make the actual release. The tricky part is as above. But it may mitigate a few more issues we were experiencing in the past, as it could assert the consistent build environment (node, npm, composer versions)
(easier) Make another workflow pick up a release, then
publish the GitHub's release notes as a comment to matching PR,
merge the PR to trunk
merge trunk to develop
Further improvements I envision:
Allow bumping version by just major|minor|patch instead of typing a full version
Allow customizing checklist, so some repos could have a few more specific steps
This is a continuation of https://github.com/woocommerce/automatewoo/pull/1404
Changes proposed in this Pull Request:
Adds a new GitHub Action to prepare extension release.
To be used with a manual GH workflow. It takes versions, then starts a branch and creates a PR with the checklist. The aim is to automate and unify the release process across our repos.
Screenshots:
Detailed test instructions:
Add a workflow in another repo following the instructions from
packages/js/github-actions/actions/prepare-extension-release/README.md
, replacingwoocommerce/grow/prepare-extension-release@actions-v1
withwoocommerce/grow/prepare-extension-release@actions-v1.5.2-pre
as this PR is not yet released.Like https://github.com/tomalec/grow/blob/391113cd2a00bac2dc808674ecebdb30e8fd83da/.github/workflows/extension-release.yml
Additional details:
The further improvements automation I was trying to implement but didn't finish:
woorelease simulate
. So we could reduce two more manual steps for the developer, and serve them just a.zip
package to smoke test & changelog to inspect. It's tricky, as requires setting up all woorelease keys on GHA, and makes the simulation repo harder to inspect.trunk
trunk
todevelop
Further improvements I envision:
major|minor|patch
instead of typing a full versionChangelog entry