Available as of yesterday, more self serve features were added to the .asf.yaml toolset, based around Github Branch Protection.

You can now add the following features :-

  • Github Branch Protection Enable/Disable
  • Require Status Checks to pass before merging
  • Require Branches to be up to date before merging
  • Context Status Checks (i.e. this build/check must pass before merging)
  • Require Pull Request Reviews
  • Dismiss Stale Pull requests
  • Require Code Owner Reviews
  • Minimum number of approvals of reviews
  • Require Signed Signatures on commits

Some of these features, like enable/disable protection of branches and required signatures will send an email to the projects private list with details.

See this PR for more details on code and implementation.

Infra especially thanks Bryan Ellis (erisu) for opening the PR, providing the code and persisting all the way through a long standing PR until 
it was finally implemented, with tweaks by Humbedooh to see it over the finish line.

See this Infra cwiki page for example implementation:-

https://cwiki.apache.org/confluence/display/INFRA/git+-+.asf.yaml+features#git.asf.yamlfeatures-BranchProtection

If you haven't yet discovered the joys of what .asf.yaml can do for your project, read the entire page above to be enlightened.

Enjoy self-serving these via your .asf.yaml file!