Filippo Valsorda | 6ae3f18 | 2018-06-06 11:39:58 -0400 | [diff] [blame] | 1 | # golang.org/x/build/cmd/releasebot |
| 2 | |
| 3 | Command releasebot runs a Go release. |
| 4 | |
| 5 | The release happens in two stages: |
| 6 | |
Dmitri Shuralyov | b706b59 | 2020-06-03 00:41:08 -0400 | [diff] [blame] | 7 | * the `prepare` stage checks preconditions, makes the release commit and mails it for review (if applicable), and performs testing; |
Filippo Valsorda | 7f9f9be | 2018-06-18 16:41:24 -0400 | [diff] [blame] | 8 | * the `release` stage runs after the release commit (if any) is merged, and it tags, builds and cleans up the release. |
Filippo Valsorda | 6ae3f18 | 2018-06-06 11:39:58 -0400 | [diff] [blame] | 9 | |
Filippo Valsorda | 6ae3f18 | 2018-06-06 11:39:58 -0400 | [diff] [blame] | 10 | ## Permissions |
| 11 | |
| 12 | The user running a release will need: |
| 13 | |
| 14 | * A GitHub personal access token with the `public_repo` scope in `~/.github-issue-token`, and an account with write access to golang/go |
| 15 | * gomote access and a token in your name |
| 16 | * gcloud application default credentials, and an account with GCS access to golang-org for bucket golang-release-staging |
| 17 | * **`release-manager` group membership on Gerrit** |
| 18 | |
| 19 | NOTE: all but the Gerrit permission are ensured by the bot on startup. |