Skip to content

Modify CoC fanout to minimize PR churn #301

@freakboy3742

Description

@freakboy3742

What is the problem or limitation you are having?

We currently have a CI script that is triggered whenever the Code of Conduct changes. This results in 40+ PRs every time there's a change to the CoC - even if that change is a minor typo fix.

The script also fails if a change has been applied upstream already, making it difficult to roll out a hot fix in one repo, and then see that change reflected elsewhere

Describe the solution you'd like

The CoC rollout script should:

  • Detect if copying the CoC to a repo results in an actual diff. If there is no diff, rollout isn't necessary to that repo, and the script can exit for that repo
  • If a repo permits commit to main, push the CoC update directly to the main branch.
  • If a repo does not permit commit to main (because it's a protected branch - Toga and Briefcase both have this; there is likely a couple of others), create a PR as before.

This will only create a PR for repos where there is an actual change and the repo requires PRs.

Other repos where there is a delta will get a direct commit to main - I'd argue this is fine, on the basis that a CoC change is a procedural change that doesn't require additional approval beyond the approval on the upstream version.

Describe alternatives you've considered

Status quo. It works, it's just verbose for minor typographic changes.

If there's a way to easily evaluate whether a repo allows pushes to main, that's great. A "try pushing to main, if it fails, create a PR" approach would also be OK. Worst case, a manually maintained list of repos would also be fine.

Additional context

No response

Metadata

Metadata

Assignees

Labels

enhancementNew features, or improvements to existing features.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions