|
| 1 | +# Maintainers Repo Permissions |
| 2 | + |
| 3 | +A track maintainer is someone who is a member of the track's GitHub team. |
| 4 | +Becoming a member of a track team is _invitation only_. |
| 5 | + |
| 6 | +```exercism/note |
| 7 | +If you'd like to become a track mainainer, please open a topic on the [forum](https://forum.exercism.org/c/exercism/building-exercism/125). |
| 8 | +``` |
| 9 | + |
| 10 | +## Maintenance category |
| 11 | + |
| 12 | +The are five maintenance categories: |
| 13 | + |
| 14 | +1. `wip-track` |
| 15 | +2. `unmaintained` |
| 16 | +3. `maintained-solitary` |
| 17 | +4. `maintained-autonomous` |
| 18 | +5. `maintained` |
| 19 | + |
| 20 | +A tracks' maintenance category is determined by three variables: |
| 21 | + |
| 22 | +1. Whether the track is active (i.e. students can join the track on the website) |
| 23 | +2. The number of track maintainers |
| 24 | +3. The number of track maintainers who are also in the `cross-track-maintainers` GitHub team |
| 25 | + |
| 26 | +To determine the maintenance category, find the first category that matches the track from this table: |
| 27 | + |
| 28 | +| Category | Active? | Number of maintainers | Number of cross-track maintainers | |
| 29 | +| ----------------------- | ------- | --------------------- | --------------------------------- | |
| 30 | +| `wip-track` | No | Any | Any | |
| 31 | +| `unmaintained` | Yes | 0 | 0 | |
| 32 | +| `maintained-solitary` | Yes | 1 | 0 | |
| 33 | +| `maintained-autonomous` | Yes | > 0 | = Number of maintainers | |
| 34 | +| `maintained` | Yes | > 0 | < Number of maintainers | |
| 35 | + |
| 36 | +## Repo permissions |
| 37 | + |
| 38 | +The maintenance category is used to set the track's GitHub repo(s) permission(s). |
| 39 | + |
| 40 | +| Category | Requires PR | Requires PR approval | Cross-track team reviews | |
| 41 | +| ----------------------- | ----------- | -------------------- | ------------------------ | |
| 42 | +| `wip-track` | No | No | No | |
| 43 | +| `unmaintained` | Yes | Yes | Yes | |
| 44 | +| `maintained-solitary` | Yes | Yes | Yes | |
| 45 | +| `maintained-autonomous` | Yes | No | No | |
| 46 | +| `maintained` | Yes | No | No | |
| 47 | + |
| 48 | +```exercism/caution |
| 49 | +The `wip-track` category is the only category that allows maintainers to push to `main`. |
| 50 | +``` |
| 51 | + |
| 52 | +```exercism/caution |
| 53 | +Tooling repos will _always_ require PR approval, as their contents are protected via a [CODEOWNERS file](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners). |
| 54 | +``` |
0 commit comments