-
Notifications
You must be signed in to change notification settings - Fork 99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bors-ng is being retired #671
Comments
I don't think there is much to miss about
You can have somewhat similar behaviour if you don't dismiss approvals when new commits are pushed. That would be the same as doing |
The slight difference is that |
I believe GH Actions supports running CI on the resultant merge commit. See the original issue for it here: actions/checkout#15 The one limitation that I think exists is that it won't force a re-run if the target branch changes. Note that I haven't used this feature since all the GH Actions I typically work on at day job enforce fast-forward merges only which removes this risk. |
That's also the case when using the merge queue feature, which will catch this when actually trying to merge it, right? |
One thing when migrating I just encountered, bors interprets a skipped required check as failed, merge queue sees it as a success. We aggregate the bunch of jobs needed into one check for bors to check, and if a need fails that check will be marked as skipped, hence merge queue will complete. The way to fix this is to do
to check that all needs are success made a note here |
Thanks for catching that, good point. Hopefully there ends up being a neater way than the jq snippet though... I've noticed another difference: currently we usually configure bors to not allow merging if certain labels (like Edit: we were using bors to delete branches once they're merged, but GitHub now has a setting for this too. |
To add perspective: For the knurling-rs repositories we also did aggregate the multiple jobs into one for bors. But now we removed this check and just mark all checks as required in the branch protection rules. |
Did you have to check them one by one? I haven't found a "check all" button. Therefore, the "all in one" job is still handy. Also, do you have optional checks? For instance, nightly builds or nightly clippy. For |
That is true. I needed to check them individually, but in our case this isn't too much.
We don't. Are you saying that you decided that it is okay if they fail or that through the switch to the merge queue they are no allowed to fail? |
Maybe I'm wrong, but what I understand from here is that the matrix marks nightly-related jobs as experimental, so even if one or more of these fail, the workflow is allowed to "succeed". However, the stable and the MRSV builds MUST succeed. |
notriddle posted some more information here for the plan
|
See https://bors.tech/newsletter/2023/05/01/tmib-76/ for details.
We currently use bors on about 32 repositories, mainly as a convenient way to ensure the master branch always passes CI. GitHub have recently added a new merge queue feature that provides many of the same features within the GitHub UI, which is why bors-ng is being retired.
We discussed this in today's meeting and a few options were suggested:
From feedback in the meeting it sounds like migrating to GHMQ is relatively straightforward (certainly easier than our previous move from Travis CI to GHA for CI), but features we'd particularly miss include
bors try
to run CI on a merge commit, andbors d+
to delegate merge permission to the PR author.I think it's probably worth trying out GHMQ but I'm not against someone asking the rust-lang infra team what they think of us using homu too. We are already set up as rust-lang teams so the permissions should be easy to configure, at least.
The text was updated successfully, but these errors were encountered: