Our baseline standards follow teh GitHub: Best practices for pull requests
When creating status checks, we expect the following names to be used:
- Lint
- Test
- PR Lint
Perform linting checks on the codebase. This should include checks for formatting, style, and other linting checks. It is suggested to use a tool such as pre-commit to perform these checks.
When you have the ability to run tests, we expect them to run on all PRs and report as Test
.
Not only should you look into writing good code and commits, but your pull requests should also be written with
intention. Where possible, we should add appropriate linting. These should repot as PR Lint
.
Adding checkboxes to PRs is a really powerful way to help reviewers understand what you have done and what you expect to be done. We suggest the following checkboxes be added to PRs:
- Use Checkmate checkboxes
- Use the reusable workflow in this repo to lint your PRs
- Have a requited check for
PR Lint
In your PR description or issue template, place <!--Checkmate-->
above the checklist block you want validated. A block
of checklist items is one without empty lines in-between.
#### :heavy_check_mark: Checklist
<!--Checkmate-->
- [ ] Added or updated documentation
- [x] Tests for new functionality and regression tests for bug fixes
#### This checklist will not be validated
- [ ] This is ignored
- [ ] This is ignored
- [ ] This is ignored
#### Oasis or Blur?
This select list validates that only one item is selected.
<!--Checkmate select=1-->
- [ ] Oasis
- [ ] Blur
Add the following file to your .github/workflows
directory:
cat << EOF > .github/workflows/ci.pr-lint.yaml
name: CI
on:
pull_request:
types: [edited, opened, reopened, synchronize]
branches: [main]
jobs:
pr-lint:
name: PR Lint
uses: open-turo/github-actions-standards/.github/workflows/reusable-workflow.pr-lint.yaml@v1
secrets: inherit
EOF