There are two artifacts that make up a Stackdriver Sandbox release:
- A set of tagged container images in "gcr.io/stackdriver-sandbox-230822/service_name"
- A set of manifests and code, saved as a git tag in this repository
Contributors can use ./make-release.sh
, along with
GitHub Actions automation,
to produce both at once.
- run
export NEW_VERSION=vX.Y.Z
- see Version Names
- run
./make-release.sh
- tip: try running with
--dry-run
or--no-push
first to do sanity checks
- tip: try running with
- The script will open a new release branch on the origin repository. Create a pull request for the release
- The script will push a git tag to the repo, which should kick off a
push-tags
CI job. Check that the job completed successfully, and the tagged images appear in thestackdriver-sandbox-230822
GCR repo - When the PR has been reviewed and thoroughly tested, merge it into master
- Don't squash; we must keep the tagged commit in the git history
- The merge to master should kick off a
github-pages
job to re-build the website. Ensure that cloud-ops-sandbox.dev was updated to use the new tag when you press the "Open in Cloud Shell" button - Do a manual sanity check, running through a deployment on cloud-ops-sandbox.dev to make sure everything still works
Version names should generally follow semantic versioning conventions:
- vX.Y.Z
- X = major version: for major milestone or breaking changes
- Y = minor version: for regularly scheduled milestone releases
- Z = Patch version: for hotfixes and other minor, unscheduled releases
Once a release has been merged to master and finalized, it is strongly advised not to delete or modify its artifacts. Instead, you should push a new patch to fix any issues that may have come up.
If a faulty release is still in the PR stage, or you have decided a deletion is necessary, here are the steps to do so:
- Delete the tags from your local repository with
git tag -d $NEW_VERSION
- Delete the tags from origin with
git push --delete origin $NEW_VERSION
- Remove the
NEW_VERSION
tag from each image on thestackdriver-sandbox-230822
GCR repo - Delete the release PR and branch from the GitHub web interface