8000 Epic: Establish rulesets for branching, tagging, and merging · Issue #546 · google/ax · GitHub
[go: up one dir, main page]

Skip to content

Epic: Establish rulesets for branching, tagging, and merging #546

Open
0 of 2 issues completed
Open

Description

@MushuEE

Objective

Have GitHub, not convention, enforce how code reaches main, release branches and tags. Every change should be reviewed against its final commits and validated before it lands, and release refs should only change through the release process.

Current state

  • Two overlapping rulesets target main:
    • main blocks deletion.
    • main: require PR review and CI blocks force-push, requires a PR with 1 approval, and requires the build-and-test check.
  • Approvals are not dismissed when new commits are pushed (dismiss_stale_reviews_on_push: false), although CONTRIBUTING.md says a push after an approval needs a fresh approval.
  • The ruleset allows the merge method, but the repo settings disable merge commits.
  • There is no merge queue, and no workflow triggers on merge_group.
  • v* tags and release-* branches have no protection.
  • Anyone with write access can create branches on the upstream repo (60+ exist today).
  • Rulesets are managed only in the GitHub UI, so changes are neither reviewable nor auditable in the repo.

Minimum bar

  • Approvals are cleared when new commits are pushed
  • Merge queue on main (which checks it runs is decided separately)
  • v* tags can only be created, moved or deleted by release managers or the release workflow
  • release-* branches are protected (no deletion or force-push; changes only through PRs with CI)

Planned sub-issues

Each one is tracked as a GitHub sub-issue of this epic:

  • Manage repository rulesets as code
  • Combine the main rulesets into a single protect-main
  • Clear approvals on fresh commits
  • Set up a merge queue on main
  • Protect release tags
  • Protect release branches
  • Establish branching and tagging rules to enforce repo best practices
  • [RFC] Require contributors to work from forks

Rollout

New or changed rulesets start in evaluate mode. Once the rule insights show they wouldn't block legitimate work, they switch to active.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0