blob: 7732eb78ca25b48b158ff4e36144c065c065a597 [file] [log] [blame] [view]
# golangorg
## Local Development
For local development, simply build and run. It serves on localhost:6060.
You can specify the domain name as the first path element, such as
http://localhost:6060/go.dev/blog.
go run .
## Testing
The go.dev and golang.org web sites have a suite of regression tests that can be run with:
go test golang.org/x/website/...
Test cases that check for expected URLs, content, response codes and so on are
encoded in \*.txt files in the `testdata` directory. If there is a problem that
no existing test caught, it can be a good idea to add a new test case to avoid
repeat regressions.
These tests can be run locally, via TryBots, and they are also run when
new versions are being deployed. The `testdata/live.txt` file is special
and used only when testing a live server, because its test cases depend
on production resources.
## Screentest
The go.dev web site has a suite of visual checks that can be run with:
go run ./cmd/screentest
These checks can be run locally and will generate visual diffs of web pages
from the set of testcases in `cmd/screentest/godev.txt`, comparing screenshots
of the live server and a locally running instance of cmd/golangorg.
## Deploying to go.dev and golang.org
Each time a CL is reviewed and submitted, the site is automatically deployed to App Engine.
If it passes its serving-readiness checks, it will be automatically promoted to handle traffic.
Whether it passes or not, the new deployment can be found in the
[App Engine versions list](https://console.cloud.google.com/appengine/versions?project=golang-org&serviceId=default).
If the automatic deployment is not working, or to check on the status of a pending deployment,
see the website-redeploy-golang-org trigger in the
[Cloud Build console](https://console.cloud.google.com/cloud-build/builds;region=global?project=golang-org&query=trigger_id%3D%222399003e-0cc5-4877-86de-8bc8f13fd984%22).