deploy, devtools: centralize and parameterize Go version management

Parameterize all Cloud Build configurations (deploy.yaml,
deploy-env.yaml, migrate.yaml, sitemap.yaml) by adding a single
_GO_VERSION substitution and referencing it in build steps.

Pass GO_VERSION=$_GO_VERSION in Cloud Build steps that execute docker
compose. In devtools/docker.sh, define GO_VERSION with a fallback
default to 1.26.4. This allows docker-compose services to use the
correct Go version without hardcoding the version string multiple times
or tying it to the go.mod version.

Source devtools/docker.sh in tests/screentest/run.sh so that commands
invoking docker compose directly will have GO_VERSION set.

Document the centralized version management in deploy/README.md, and
update the outdated Go version reference in CONTRIBUTING.md.

For golang/go#72774

Change-Id: I8d7067a63a20be1c30818a4c6098e4578a0b30e2
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/791760
kokoro-CI: kokoro <noreply+kokoro@google.com>
Reviewed-by: Nicholas Husin <nsh@golang.org>
Reviewed-by: Nicholas Husin <husin@google.com>
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
9 files changed
tree: b394d0172b3b245184227834ea0edb24bd995311
  1. cmd/
  2. deploy/
  3. devtools/
  4. doc/
  5. internal/
  6. migrations/
  7. static/
  8. tests/
  9. third_party/
  10. .dockerignore
  11. .gitignore
  12. .prettierignore
  13. .prettierrc.yaml
  14. .stylelintignore
  15. .stylelintrc.yaml
  16. all.bash
  17. codereview.cfg
  18. CONTRIBUTING.md
  19. eslint.config.js
  20. go.mod
  21. go.sum
  22. jest.config.js
  23. LICENSE
  24. package-lock.json
  25. package.json
  26. PATENTS
  27. README.md
  28. tsconfig.json
README.md

golang.org/x/pkgsite

This repository hosts the source code of the pkg.go.dev website, and pkgsite, a documentation server program.

Go Reference

pkg.go.dev: a site for discovering Go packages

Pkg.go.dev is a website for discovering and evaluating Go packages and modules.

You can check it out at https://pkg.go.dev.

pkgsite: a documentation server

pkgsite program extracts and generates documentation for Go projects.

Example usage:

$ go install golang.org/x/pkgsite/cmd/pkgsite@latest
$ cd myproject
$ pkgsite -open .

For more information, see the pkgsite documentation.

API

pkgsite provides a REST API for retrieving package and module information. Currently the API is on v1beta, but after a periodic of community feedback we will transition to v1. The API endpoints include:

  • /v1beta/package/{path}: Information about the package at {path}.
  • /v1beta/module/{path}: Information about the module at {path}.
  • /v1beta/versions/{path}: Versions of the module at {path}.
  • /v1beta/packages/{path}: Information about packages of the module at {path}.
  • /v1beta/search: Search results.
  • /v1beta/symbols/{path}: List of symbols for the package at {path}.
  • /v1beta/imported-by/{path}: Paths of packages importing the package at {path}.
  • /v1beta/vulns/{path}: Vulnerabilities of the module at {path}.

For detailed documentation of parameters and response schemas, see the documentation page served at /api, or refer directly to the annotated source code in internal/api/api.go.

Issues

If you want to report a bug or have a feature suggestion, please first check the known issues to see if your issue is already being discussed. If an issue does not already exist, feel free to file an issue.

For answers to frequently asked questions, see pkg.go.dev/about.

You can also chat with us on the #pkgsite Slack channel on the Gophers Slack.

Contributing

We would love your help!

Our canonical Git repository is located at go.googlesource.com/pkgsite. There is a mirror of the repository at github.com/golang/pkgsite.

To contribute, please read our contributing guide.

License

Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.

Links