Skip to content

Commit 3eb9f7d

Browse files
authored
feat(docs): Update approvals process using CODEOWNERS (#1541)
1 parent 9db3966 commit 3eb9f7d

File tree

3 files changed

+92
-13
lines changed

3 files changed

+92
-13
lines changed

.github/CODEOWNERS

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# In the format of:
2+
# FILE @PRIMARY_OWNER ...@SECONDARY_OWNERS
3+
4+
# Order of precendence is top-to-bottom. The last line to match a file will assign the codeowners
5+
6+
# Deliberately no catch-all so we know when we need to add something to this file
7+
8+
/.gitpod.Dockerfile @marcusroberts @ospencer
9+
/.gitpod.yml @marcusroberts @ospencer
10+
/README.md @ospencer @phated @peblair
11+
12+
/.vscode/ @phated @ospencer
13+
14+
/docs/ @ospencer @phated @peblair @marcusroberts @jozanza
15+
16+
/.github/workflows/ci.yml @phated @ospencer
17+
/.github/workflows/docker-publish.yml @ospencer @phated
18+
/.github/workflows/release.yml @phated @ospencer
19+
20+
/cli/.prettierignore @ospencer @phated @jozanza
21+
/cli/.prettierrc.json @ospencer @phated @jozanza
22+
/cli/__test__/ @jozanza @phated @ospencer @peblair
23+
/cli/bin/ @phated @ospencer @marcusroberts
24+
/cli/package.json @phated @ospencer
25+
26+
/compiler/esy.lock/ @phated @ospencer
27+
/compiler/dune-project @ospencer @phated
28+
/compiler/dune-workspace @ospencer @phated
29+
/compiler/dune @ospencer @phated
30+
/compiler/src/dune @phated @ospencer
31+
/compiler/test/ @ospencer @phated @peblair
32+
/compiler/test/formatter_inputs @marcusroberts @phated @ospencer
33+
/compiler/test/formatter_outputs @marcusroberts @phated @ospencer
34+
/compiler/test/stdlib/ @ospencer @phated @peblair @marcusroberts @jozanza
35+
/compiler/grainc/ @peblair @phated @ospencer
36+
/compiler/graindoc/ @phated @marcusroberts @ospencer
37+
/compiler/grainformat/ @marcusroberts @phated @ospencer
38+
/compiler/grainlsp/ @marcusroberts @phated @ospencer
39+
/compiler/src/codegen/ @ospencer @peblair @phated
40+
/compiler/src/diagnostics/ @marcusroberts @ospencer @phated
41+
/compiler/src/formatting/ @marcusroberts @phated @ospencer
42+
/compiler/src/language_server/ @marcusroberts @ospencer @phated
43+
/compiler/src/linking/ @ospencer @phated @peblair
44+
/compiler/src/middle_end/ @ospencer @peblair @phated
45+
/compiler/src/parsing/ @ospencer @peblair @phated @marcusroberts
46+
/compiler/src/typed/ @ospencer @peblair @phated
47+
/compiler/src/utils/ @phated @ospencer @marcusroberts @peblair @jozanza
48+
/compiler/src/compile.re @ospencer @peblair @phated
49+
/compiler/src/compile.rei @ospencer @peblair @phated
50+
/compiler/esy.json @ospencer @phated
51+
/compiler/package.json @ospencer @phated
52+
53+
/js-runner/.prettierignore @ospencer @phated
54+
/js-runner/.prettierrc.json @ospencer @phated
55+
/js-runner/README.md @ospencer @phated
56+
/js-runner/src/ @ospencer @phated @peblair
57+
/js-runner/package.json @ospencer @phated
58+
/js-runner/webpack.*.js @ospencer @phated
59+
/js-runner/LICENSE @ospencer @peblair
60+
61+
/stdlib/ @ospencer @phated @peblair @marcusroberts @jozanza
62+
/stdlib/runtime/ @ospencer @peblair @jozanza
63+
/stdlib/package.json @phated @ospencer
64+
/stdlib/index.js @phated
65+
/stdlib/LICENSE @ospencer @peblair
66+
67+
/.gitattributes @phated @ospencer
68+
/.gitignore @phated @ospencer
69+
/CODE_OF_CONDUCT.md @ospencer @phated
70+
/CONTRIBUTING.md @ospencer @peblair @phated @marcusroberts @jozanza
71+
/.dockerignore @ospencer @peblair
72+
/Dockerfile @ospencer @peblair @phated
73+
/Dockerfile-slim @ospencer @peblair @phated
74+
/.npmrc @phated @ospencer
75+
/package-lock.json @phated @ospencer
76+
/package.json @phated @ospencer
77+
/release-please-config.json @phated @ospencer
78+
/LICENSE @ospencer @peblair

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"files.associations": {
3-
"*.dyp": "ocaml.ocamllex"
3+
"*.dyp": "ocaml.ocamllex",
4+
"CODEOWNERS": "ignore"
45
},
56
"ocaml.sandbox": {
67
"kind": "esy",

docs/contributor/commits_pull_requests_and_merging.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,15 @@ Introduces a new package `Grain_diagnostics` that provides information needed by
4040

4141
Generally, we want to scope our types to the three primary types defined by the spec:
4242

43-
* `feat:` - This should be the most used type, as most work we are doing in the project are new features. Commits using this type will always show up in the Changelog.
44-
* `fix:` - When fixing a bug, we should use this type. Commits using this type will always show up in the Changelog.
45-
* `chore:` - The least used type, these are **not** included in the Changelog unless they are breaking changes.
43+
- `feat:` - This should be the most used type, as most work we are doing in the project are new features. Commits using this type will always show up in the Changelog.
44+
- `fix:` - When fixing a bug, we should use this type. Commits using this type will always show up in the Changelog.
45+
- `chore:` - The least used type, these are **not** included in the Changelog unless they are breaking changes.
4646

4747
We've used some legacy types previously, but these often have a better format:
4848

49-
* `docs:` - These should be annotated as `chore(docs)` if they aren't being changed with a feature or fix.
50-
* `refactor:` - These should be annotated as `chore(refactor)`.
51-
* `ci:` - These should be annotated as `chore(ci)`.
49+
- `docs:` - These should be annotated as `chore(docs)` if they aren't being changed with a feature or fix.
50+
- `refactor:` - These should be annotated as `chore(refactor)`.
51+
- `ci:` - These should be annotated as `chore(ci)`.
5252

5353
### Conventional Commits: Breaking Changes
5454

@@ -81,7 +81,7 @@ The easiest way to do this is to have multiple Conventional Commits while you wo
8181

8282
### Reviews
8383

84-
As the Grain core team has grown, we've adjusted our code review process. On the [grain-lang/grain](https://github.com/grain-lang/grain) repository, we require **two** approvals from core team members for any non-breaking pull request and **three** approvals for pull requests containing breaking changes. For any other repositories in the grain-lang organization, we require **one** approval.
84+
As the Grain core team has grown, we've adjusted our code review process. On the [grain-lang/grain](https://github.com/grain-lang/grain) repository, we require **one** approval from a "code owner", as defined in the [CODEOWNERS](/.github/CODEOWNERS) file for any non-breaking pull request and approvals from **all** "code owners" for pull requests containing breaking changes. For any other repositories in the grain-lang organization, we require **one** approval from any core team member.
8585

8686
### With Breaking Changes
8787

@@ -97,15 +97,15 @@ We use "squash merging" to merge pull requests. This will cause all commits to b
9797

9898
When squash merging, we can keep intermediate Conventional Commits around by adding them to the body of the commit message; however, the GitHub UI adds a `*` character before each commit message and our releaser bot can't parse that.
9999

100-
When squashing, you want to update both the title of the commit to be a good Conventional Commit and adjust the body to contain any other Conventional Commits that you want to keep (not prefixed with `*`). We also keep any "Co-authored-by:" lines at the bottom of the commit if the change was done by multiple authors. If "Co-authored-by:" lines appear due to accepted PR suggestions, it's good to delete them so the author gets full credit for the change.
100+
When squashing, you want to update both the title of the commit to be a good Conventional Commit and adjust the body to contain any other Conventional Commits that you want to keep (not prefixed with `*`) and delete any extra information. We also keep any "Co-authored-by:" lines at the bottom of the commit if the change was done by multiple authors. If "Co-authored-by:" lines appear due to accepted PR suggestions, it's good to delete them so the author gets full credit for the change.
101101

102102
Our overall approach to squashing is to be mindful of the impact of each commit. The commits populate our changelog, so it's important to properly convey to Grain consumers what changes have happened. It is also a record that we and others will review in the future. Thus, we want to attribute the change to its correct authors and provide useful information that future contributors need.
103103

104104
### Merge Checklist
105105

106106
Before merging, you should mentally review these questions:
107107

108-
* Is continuous integration passing?
109-
* Do you have the required amount of approvals?
110-
* Does anyone else need to be pinged for thoughts?
111-
* Will this cause problems for our release schedule? For example: maybe a patch release still needs to be published.
108+
- Is continuous integration passing?
109+
- Do you have the required amount of approvals?
110+
- Does anyone else need to be pinged for thoughts?
111+
- Will this cause problems for our release schedule? For example: maybe a patch release still needs to be published.

0 commit comments

Comments
 (0)