-
Ensure
main
branch is in a suitable state -
Disable branch protection for both the
main
branch and for therelease/
branches -
Create a version branch with SemVer semantics and a
release/
prefix: e.g.release/v1.0.5
orrelease/v1.0.5-b
- On latest
main
, run:git checkout -b release/vX.Y.Z
- Important: Certain git operations are ambiguous if tags and branches have the same name. Using the
release/
prefix reserves the actual version name for the tag itself; i.e. everyrelease/vX.Y.Z
branch will have a correspondingvX.Y.Z
tag.
- On latest
-
Push that branch to GitHub (if created locally)
git push origin release/vX.Y.Z
-
The release workflow will run, and create a DRAFT release if successful with all commits since the last tagged release.
-
Prune the commits that have been added to the release notes (e.g. remove any low-information commits)
-
Publish the release - this creates the git tag in the repo and marks the release as latest. It also bumps the
version
key in several projectpackage.json
files. -
Re-enable branch protection for both the
main
branch and for therelease/
branches- Note: The
Publish
operation will run the following GitHub Action, which merges therelease/vX.Y.Z
branch tomain
. Branch Protection in GitHub will cause this to fail, and why we are momentarily disabling branch protection.
- Note: The
-
A successful run of this workflow will automatically kick off the "Generate Documentation" workflow. This workflow may also be initiated at any time manually via the GitHub Actions UI (since it is configured as a
workflow_dispatch
action).- once the documentation is generated, add the ZIP file to the release assets, named
AWS-SEA-Documentation-vXXX.zip
- once the documentation is generated, add the ZIP file to the release assets, named
-
Rename the
AcceleratorInstaller.template.json
toAcceleratorInstaller
XXX.template.json
replacing XXX with the version number without punctuation (i.e.AcceleratorInstaller121b.template.json
).- Repeat for
AcceleratorInstaller-CodeCommit.template-vXXX.json
.
- Repeat for
-
Add the Accelerator configuration file schema documentation ZIP to the release assets, named
AWS-SEA-Config-Schema-vXXX-DRAFT.zip
. -
Add the Accelerator Alpha GUI ZIP to the release assets, named
AWS-SEA-GUI-mockup-DoNotUse-vXXX-alpha.zip
.