Summary:
- At present, PR checks, build and test are all performed through .github/workflows/go.yml.
- Releasing over various channels (website, homebrew, chocolatey...) is performed manually.
- The strategic state is to split the functions: PR checks, build and test; into separate files, and migrate to use goreleaser.
In lieu of a full implementation of github actions best practices, currently:
- Pull request checks use the pull_request event, as per best practices.
- Integration test steps, which require secrets, leverage the github context to avoid running where secrets are absent.
- Therefore, external fork PRs, which are the community contribution model, do not run integration tests. Strategically, we may funnel community contribution though a staging branch and/or adopt release branches. This is not an urgent consideration, and we shall decide after some reflection.