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

未关闭
#851 4 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
35/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
github
领域
devops

调研方向

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.

由索引模型根据 Issue 内容生成。

描述

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

主要语言
Rust
星标
130
派生
96
平均合并
1 天 1 小时
30 天内合并 PR
84

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

daisy/MathCAT 的其他 Issue

查看 daisy/MathCAT 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。