all: promote new app deployments only after they become ready

There are differences in the App Engine environment that
cannot be adequately simulated elsewhere. Although we do
the best we can with testing locally, there will always be
differences.

The old makefiles deployed the site, then ran a regression
test against it, and then promoted the tested version.

This change does the same. The testing has moved into the
web server proper so that it can test the handler directly and
thereby check things like the responses on different domains.

The go-app-deploy.sh now always deploys --no-promote,
only promoting after a self-test passes on the deployed site.

Unlike the old check which only applied to golang.org,
the new pre-promotion testing happens for all the sites.

Also factor out GoogleCN into internal/web, because we needed
to modify it (to avoid internal/webtest's requests being diagnosed
as coming from China) and there were too many copies.

Change-Id: I0cde0e2167df2332939908e716ddb6bf429f2565
Reviewed-on: https://go-review.googlesource.com/c/website/+/329250
Trust: Russ Cox <rsc@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
22 files changed
tree: 228b107279633d6e0933f30996f8e8fc390f64ae
  1. _content/
  2. blog/
  3. cmd/
  4. go.dev/
  5. internal/
  6. tour/
  7. .gitattributes
  8. .prettierrc
  9. AUTHORS
  10. codereview.cfg
  11. content.go
  12. CONTRIBUTING.md
  13. CONTRIBUTORS
  14. go-app-deploy.sh
  15. go.mod
  16. go.sum
  17. LICENSE
  18. PATENTS
  19. README.md
README.md

Go website

Go Reference

This repo holds content and serving programs for the golang.org web site.

Content is in _content/. Server code is in cmd/ and internal/.

To run the 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/ directory.)

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

JS/CSS Formatting

This repository uses prettier to format JS and CSS files.

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.

Report Issues / Send Patches

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

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.