Skip to content
This repository was archived by the owner on Mar 27, 2024. It is now read-only.

Commit 19ae038

Browse files
authored
Add release instructions. (#128)
1 parent 00d283c commit 19ae038

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

RELEASING.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Releasing container-diff
2+
3+
The github.com/GoogleCloudPlatform/container-diff uses Container Builder triggers to build and release binaries.
4+
These triggers are setup via the Cloud Console, but the builds they execute live in this repo.
5+
6+
## Continuous Builds
7+
8+
Every commit to master is built and pushed automatically to a GCS location named via the COMMIT_SHA.
9+
10+
```shell
11+
$ gsutil ls gs://container-diff/builds/
12+
gs://container-diff/builds/b726215b8b978e1d85257af5c2fd0a6fb8e116fd/
13+
14+
$ gsutil ls gs://container-diff/builds/b726215b8b978e1d85257af5c2fd0a6fb8e116fd/
15+
gs://container-diff/builds/b726215b8b978e1d85257af5c2fd0a6fb8e116fd/container-diff-darwin-amd64.sha256
16+
gs://container-diff/builds/b726215b8b978e1d85257af5c2fd0a6fb8e116fd/container-diff-linux-amd64
17+
gs://container-diff/builds/b726215b8b978e1d85257af5c2fd0a6fb8e116fd/container-diff-linux-amd64.sha256
18+
gs://container-diff/builds/b726215b8b978e1d85257af5c2fd0a6fb8e116fd/container-diff-windows-amd64.exe.sha256
19+
```
20+
21+
The artifacts built and stored are roughly equivalent to the `make cross` target in our Makefile.
22+
23+
The `cloudbuild.yaml` at the project root is used to build these artifdacts.
24+
25+
## Release Builds
26+
27+
When a new tag is pushed to Github, a second Container Builder pipeline is executed to build and upload release binaries.
28+
These are stored in another GCS location, in the same bucket.
29+
These artifacts are named via the git TAG name.
30+
31+
```shell
32+
$ gsutil ls gs://container-diff/
33+
gs://container-diff/builds/
34+
gs://container-diff/latest/
35+
gs://container-diff/v0.2.0/
36+
gs://container-diff/v0.4.0/
37+
gs://container-diff/v0.4.1/
38+
gs://container-diff/v0.5.0/
39+
```
40+
41+
A second, `latest` location is setup as an alias to the latest release.
42+
This upload and aliases is handled automatically via the `cloudbuild-release.yaml` file located at the project root.
43+
44+
## Release Instructions
45+
46+
To perform a release, follow these steps:
47+
48+
1. Select the `commit` to create the release at, preferably from the `master` branch.
49+
2. Create a new git `tag` and matching Github `release`, pointing to this commit.
50+
This can be done either through the UI or CLI.
51+
3. Write a descriptive release page.
52+
You can use the notes from the last release to help seed the template.
53+
3. Wait for the Container Builder release build to complete.
54+
You can follow this in the [UI](https://cloud.google.com/gcr/triggers).
55+
4. Mirror the release artifacts to the Github release page.
56+
(Download them from GCS and re-upload them to Github).

0 commit comments

Comments
 (0)