Proposal: branch protection ruleset + review/merge process for `main`

Aperta
#851 4 commenti 1 reazione 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
github
Ambito
devops

Direzione di ricerca

Start by reviewing the proposed main branch ruleset changes and the .github/CODEOWNERS expansion referenced in Issue #848. Resolve the open questions about existing individual permissions and team access, and get confirmation from @NSoiffer before enabling changes. Done means the proposal is approved and the agreed ruleset and team structure are in place.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

devops discussion

Following up on our Oct 5 call about PR approvals, here's a written proposal for the process and the GitHub configuration to support it.

Current state: there's an existing active ruleset on main, but it only blocks branch deletion and force-pushes. Nothing yet requires PRs, reviews, or restricts who can merge.

Proposed process for getting changes into main:

  • Draft a PR into main and confirm the status checks pass
  • Submit the PR
  • An appropriate Code Owner reviews and approves
  • Once approved, any member of the MathCAT-Maintainers team merges into main

Proposed CODEOWNERS expansion (Issue #848):
.github/CODEOWNERS is a file that maps parts of the repo (by directory or path) to specific people or teams. On its own, it's just documentation. But once "Require review from Code Owners" is turned on in the main branch ruleset, GitHub will use this mapping to automatically:

  • request the right reviewer(s) for each PR, based on which files it touches
  • block merging until one of them approves.

For example, a PR touching /Rules/Languages/ would need approval from the translators team, while a PR touching /src/ would need Neil's approval.

Proposed ruleset additions for main:

  • Require a pull request before merging, with required approvals and require review from Code Owners (scopes review to the right people per file path, via CODEOWNERS)
  • Require status checks to pass, and require branches to be up to date before merging
  • Require conversation resolution before merging
  • Squash merge only

Proposed team structure:

Team Purpose Recommended access
MathCAT-Admin MathCAT-Repo-Admins Full admin control (settings, rulesets, team management) admin on all 5 MathCAT repos
MathCAT-Maintainers Regular hands-on contributors — review, merge via PR, day-to-day maintenance write on all 5 MathCAT repos
MathCAT-Translators Language/localization contributors read on MathCAT repo

Open items:

  • Should existing individually-granted permissions on MathCAT be reconciled into the new team structure (i.e., migrate people onto the team and remove the standalone grants), or left as-is alongside it?
  • Are we comfortable updating the MathCAT-Admin MathCAT-Repo-Admins, MathCAT-Maintainers, and MathCAT-Translators team access to align with this proposal?
  • Review and confirm this whole proposal with @NSoiffer before any ruleset changes are turned on.

Please feel free to share any comments, questions, or proposed revisions!
@aimalz @moritz-gross @Johannes-spsm @MartheGjelstad @GeorgeKerscher @Jeffrey-Kuan

Lingua principale
Rust
Stelle
130
Fork
96
Merge medio
1g 1h
PR unite (30g)
84

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di daisy/MathCAT

Tutte le issue di daisy/MathCAT

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.