(fill me in with a unique ident, my_awesome_feature)
(fill me in with today's date, YYYY-MM-DD)
(name of the main author)
(find a buddy later to help out with the RFC)
(names, to be nominated and accepted by RFC steering committee)
(name to be appointed by RFC steering committee)
(will contain links to implementation PRs)
Summary
This proposes using the Bors bot to perform testing before merging. Hydra will be updated to build the Bors staging branch. This should significantly reduce the frequency of channel blockages.
Motivation
Why are we doing this? What use cases does it support? What is the expected outcome?
Detailed design
Patch Bors to support smarter bisection.
We need to tell it to just build the failing derivations.
Permissions?
Examples and Interactions
This section illustrates the detailed design. This section should clarify all confusion the reader has from the previous sections. It is especially important to counterbalance the desired terseness of the detailed design; if you feel your detailed design is rudely short, consider making this section longer instead.
Drawbacks
Step away from the standard GitHub workflow
Right now nixpkgs contributors can just use the regular GitHub workflow to contribute changes. This is familiar and makes it easy for new contributors to get on board.
It is believed that this will be an acceptable downside since the process for opening a pull request will be the same, and new contributors will not be able to merge on their own anyways. This means that an experienced reviewer will be able to help the new user on the process.
Alternatives
Auto-Rollback
Instead of having a merge queue we can instead just merge to master and have a bot that will automatically revert changes that fail to build.
While this makes less changes to the
Unresolved questions
Will Bors accept a change for smarter bisection?
How do permissions work for enqueuing changes?
Future work
What future work, if any, would be implied or impacted by this feature without being directly part of the work?
Summary
Motivation
Detailed design
Examples and Interactions
Drawbacks
Step away from the standard GitHub workflow
Alternatives
Auto-Rollback
Unresolved questions
Future work