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

Abierto
#851 4 comentarios 1 reacción 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
github
Área
devops

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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

Lenguaje dominante
Rust
Estrellas
130
Forks
96
Merge medio
1 d 1 h
PR fusionados (30 d)
84

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de daisy/MathCAT

Todos los issues de daisy/MathCAT

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.