tree: e3c6fef45cbd7af16d613ba433c886d26c9d8bcd [path history] [tgz]
  1. gcs.go
  2. gerrit.go
  3. git.go
  4. github.go
  5. http.go
  6. main.go
  7. main_test.go
  8. markdown.go
  9. README.md
  10. twitter.go
cmd/releasebot/README.md

golang.org/x/build/cmd/releasebot

Command releasebot runs a Go release.

The release happens in two stages:

  • the prepare stage checks preconditions, makes the release commit and mails it for review (if applicable), and performs testing;
  • the release stage runs after the release commit (if any) is merged, and it tags, builds and cleans up the release.

Permissions

The user running a release will need:

  • A GitHub personal access token with the public_repo scope in ~/.github-issue-token, and an account with write access to golang/go
  • gomote access and a token in your name
  • gcloud application default credentials, and an account with GCS access to golang-org for bucket golang-release-staging
  • release-manager group membership on Gerrit
  • for -mode=mail-dl-cl only, Secret Manager access to Gerrit API secret
  • for -mode=tweet-* only, Secret Manager access to Twitter API secret

NOTE: all but the Gerrit permission are ensured by the bot on startup.