cmd/locktrigger: add fix for Cloud Build race

When a project uses “continuous deployment powered by Cloud Build”,
the deployment is a little bit too continuous: when multiple commits
land in a short time window, Cloud Build will run all the triggered
build jobs in parallel. If each job does “gcloud app deploy”, there
is no guarantee which will win: perhaps an older commit will complete
last, resulting in the newest commit not actually being the final
deployed version of the site. This should probably be fixed in
“continuous deployment powered by Cloud Build”, but until then,
locktrigger works around the problem.

Use locktrigger in cmd/golangorg/cloudbuild.yaml to ensure that
when multiple commits race, the newest one always runs its
go-app-deploy.sh last.

Change-Id: I5ca340250d0a3b7853fc478d35caffdd0163bb0f
Reviewed-on: https://go-review.googlesource.com/c/website/+/368365
Trust: Russ Cox <rsc@golang.org>
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
6 files changed
tree: 16cb7bde917bcf95fec0af86cbc55fdc19cd17e6
  1. _content/
  2. _later/
  3. cmd/
  4. internal/
  5. tour/
  6. .eslintrc.json
  7. .gitattributes
  8. .prettierrc
  9. .prettierrc.yaml
  10. .stylelintrc.json
  11. AUTHORS
  12. codereview.cfg
  13. content.go
  14. CONTRIBUTING.md
  15. CONTRIBUTORS
  16. go-app-deploy.sh
  17. go.mod
  18. go.sum
  19. LICENSE
  20. PATENTS
  21. README.md
README.md

Go website

Go Reference

This repo holds content and serving programs for the go.dev and golang.org web sites.

Content is in _content/ (go.dev) and tour/ (go.dev/tour). Server code is in cmd/ and internal/.

To run the combined go.dev+golang.org server to preview local content changes, use:

go run ./cmd/golangorg

The supporting programs cmd/admingolangorg and cmd/googlegolangorg are the servers for admin.golang.org and google.golang.org. (They do not use the _content/ directories.)

Each command directory has its own README.md explaining deployment.

JS/CSS Formatting

This repository uses prettier to format JS and CSS files.

See also:

The version of prettier used is 1.18.2.

It is encouraged that all JS and CSS code be run through this before submitting a change. However, it is not a strict requirement enforced by CI.

Deploying

Each time a CL is reviewed and submitted, the code is deployed to App Engine. See cmd/golangorg/README.md for details.

Report Issues / Send Patches

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://go.dev/doc/contribute.

The main issue tracker for the website repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/website:” in the subject line, so it is easy to find.