| # This Cloud Build file is run automatically when commits land in the website repo. |
| # See https://console.cloud.google.com/cloud-build/triggers;region=global?project=golang-org. |
| # Do not run directly. |
| |
| steps: |
| # Clone go repo to _goroot.zip for use by uploaded app. |
| - name: gcr.io/cloud-builders/git |
| args: ["clone", "--branch=release-branch.go1.21", "--depth=1", "https://go.googlesource.com/go", "_gotmp"] |
| - name: gcr.io/cloud-builders/git |
| args: ["archive", "--format=zip", "--output=../_goroot.zip", "HEAD"] |
| dir: _gotmp |
| - name: golang |
| args: ["rm", "-rf", "_gotmp"] |
| # Clone wiki repo into _content/wiki as initial wiki content. |
| # The server will replace this with the wiki repo when it can, |
| # but this provides a good fallback. |
| - name: gcr.io/cloud-builders/git |
| args: ["clone", "--depth=1", "https://go.googlesource.com/wiki", "_wikitmp"] |
| - name: golang |
| args: ["rm", "-rf", "_wikitmp/.git"] |
| - name: golang |
| args: ["sh", "-c", "cp -a _wikitmp/* _content/wiki"] |
| # Run tests. |
| - name: golang |
| args: ["go", "test", "./..."] |
| # Coordinate with other Cloud Build jobs to deploy only newest commit. |
| # May abort job here. |
| - name: golang |
| args: ["go", "run", "./cmd/locktrigger", "--project=$PROJECT_ID", |
| "--build=$BUILD_ID", "--repo=https://go.googlesource.com/website"] |
| # Deploy site and redirect traffic (maybe; tests again in prod first). |
| - name: gcr.io/cloud-builders/gcloud |
| entrypoint: bash |
| args: ["./go-app-deploy.sh", "cmd/golangorg/app.yaml"] |
| # Clean up stale versions. |
| - name: golang |
| args: ["go", "run", "./cmd/versionprune", "--dry_run=false", "--project=$PROJECT_ID", "--service=default"] |
| |
| options: |
| machineType: N1_HIGHCPU_8 |