_content/doc/contribute: make it clear a Gerrit account is required even when sending a GitHub PR

It's possible to read the current "Sending a change via GitHub"
section of the Contribution Guide as saying a Gerrit account
is optional when sending a GitHub PR.

Some of the friction listed by Bryan in discussion golang/go#61182
is likely the result of some GitHub users never registering for
Gerrit after they send their PR, such as:

  "A significant fraction of GitHub PRs are abandoned when
  the author does not respond to Gerrit comments"

This CL therefore attempts to make it clear a Gerrit account
is a requirement even when sending a PR via GitHub, which
might reduce a modest amount of friction.

See golang/go#61323 for additional background.

While we are here, we also suggest the PR author familiarize themselves
with Gerrit, which increases the likelihood of success for their
own PR, but also might help them eventually graduate to a pure Gerrit
workflow for future contributions or possibly open their eyes
to the benefits of doing basic gardening.

For example, starring and then following interesting CLs is a
great way to learn for a new contributor (but not as well known
a feature as it could be).

In addition, we add a link to the FAQs for the GitHub PR workflow,
which covers things like "why do I need a Google account for Gerrit?".

We also define the term "CL" and then purposefully use it. The
contribution guide currently does not use that term, but
some evidence suggests someone going through the GitHub PR workflow
can struggle a bit with the difference between the PR vs. the CL,
or generally be confused and ask questions like "what is a CL?".

(The Contribution Guide previously used the term "CL", but without
defining it. golang/go#18989 suggested defining the term,
though the resolution of that issue in CL 36564 instead
removed "CL" entirely from the contribution guide).

Fixes golang/go#61323

Change-Id: I7d16a8cfd357ec4dd441a6ca43fc2a0caf55cdfe
GitHub-Last-Rev: ce92b735e869f627e4bfa084b0ca721f93ef34ae
GitHub-Pull-Request: golang/website#232
Reviewed-on: https://go-review.googlesource.com/c/website/+/509019
Run-TryBot: t hepudds <thepudds1460@gmail.com>
Reviewed-by: Alan Donovan <adonovan@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
1 file changed
tree: 1fcb327f9225ad43c12c3002131ff2bafebc0efb
  1. _content/
  2. _later/
  3. cmd/
  4. internal/
  5. tour/
  6. .eslintrc.yaml
  7. .gitattributes
  8. .prettierrc.yaml
  9. .stylelintrc.yaml
  10. codereview.cfg
  11. content.go
  12. CONTRIBUTING.md
  13. go-app-deploy.sh
  14. go.mod
  15. go.sum
  16. jest-transform.cjs
  17. LICENSE
  18. npm
  19. npx
  20. package-lock.json
  21. package.json
  22. PATENTS
  23. README.md
  24. tsconfig.json
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/TS/CSS Formatting

This repository uses eslint to format JS and TS files, and stylelint to format CSS files.

See also:

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

Installing npm Dependencies:

  1. Install docker
  2. Create a .gitignore file at repo root
  3. Add .gitignore and node_modules to .gitignore
  4. Run ./npm install

Run ESlint

./npx eslint [options] [file] [dir]

Run Stylelint

./npx stylelint [input] [options]

TypeScript Support

TypeScript files served from _content are transformed into JavaScript. Reference .ts files in html templates as module code.

<script type="module" src="/ts/filename.ts">

Write unit tests for TypeScript code using the jest testing framework.

Run Jest

./npx jest [TestPathPattern]

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.