[llvm-dev] Notes from GitHub Pull Requests round table
David Chisnall via llvm-dev
llvm-dev at lists.llvm.org
Thu Nov 19 01:56:17 PST 2020
On 18/11/2020 17:36, Mike Edwards via llvm-dev wrote:
> Hi Keith,
> You should be able to access the notes here:
> https://docs.google.com/document/d/1flP8TqS71x4KF6h98vZV3ctXADBD39_vjrXn_BQn4hQ/edit?usp=sharing
> <https://docs.google.com/document/d/1flP8TqS71x4KF6h98vZV3ctXADBD39_vjrXn_BQn4hQ/edit?usp=sharing>
> Let me know if you run into any issues.
Thanks. There's one issue that isn't directly relevant to PRs, but is
likely to become more visible if we go to a PR workflow:
LLVM takes quite a long time to run the tests and there's usually one
commit in between running the test suite on a patch and pushing it to
master. If the result then causes test failures, you won't find out
until some time later. This means I'm generally only willing to hit the
merge button near to the start of the day, when I'm likely to be around
and paying attention when the failure notices come in, which increases
the likelihood that there will be an intermediate patch that causes
problems.
With a PR-based workflow, it becomes fairly easy to set up a system to
manage a queue of patches to be merged, triggered by either a comment
from a member of the project or a label (e.g. ready-to-merge) being
added to the PR. The CI infrastructure then rebases the PR on the PR
that's ahead of it in the queue (master if it's the front of the queue),
kicks off the build, and fast-forwards master when it succeeds. Head is
always in a state where the build bots are happy and if an intermediate
change causes problems then that's reflected in the PR that would see
the failure, nowhere else. Subsequent PRs in the queue can rebased on
the last passing version and the merge process can continue without a
human needing to notice the buildbot failures and revert anything.
David
More information about the llvm-dev
mailing list