-
Notifications
You must be signed in to change notification settings - Fork 11
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
WIP: Infra: Try running CI for merge queues #132
Conversation
3e6ad4e
to
adf3e5f
Compare
adf3e5f
to
462d10e
Compare
I believe the merge queue should be working now, but I want to figure out how to have a |
I believe there isn't the direct replacement for Here are the results of my research (although in my case I didn't use There have been several problems with bors, and it has its own disadvantages.
Github Merge queues are the new native Github feature that is intended to replace bors. And it doesn't have problems described higher, however it may have own problems. I know of at least one thing that could pose problems Our CI that we run with bors assumes it runs exclusively (one at a time), while with Github's merge queues PRs are not batched into groups like with bors (for the docs, see here, also in the FAQ from mergify bot), all PRs get their CIs to run in parallel. For CI jobs that require exclusive access to some test environment you'll need to use a workaround:
|
Hey @Veetaha, thank you for the detailed comment. My main motivation for migrating is the deprecation of bors. The user forum said that the public instance will most likely continue working until merge queues have been stabilized. The problems of bors you listed are definitely valid. It would have been cool if GH added options to fix these somehow. I believe that Rust will stay with their
That's really good to know. This should be fine for Marker, but it's somewhat unexpected.
This sounds like a good solution! Do you have an example for such a workflow? My CI wizard skills are sadly still developing, this already gives me some things to search for. Thank you! |
As an example, we have a crates release tool, which does publishing on demand. For example: you changed something in a repo and want to publish the new version of the crate to the crates registry, then you can use a manual github workflow to do that: ![]() By default there is a branch selection parameter that will be used by github to decide what version of the CI An example template for that may be like this: name: try-my-pr
on:
workflow_dispatch:
inputs:
input_name:
description: 'There could be inputs to your workflow if you need any (required or optional)'
required: true
# Run the CI jobs that you want.
# In my example we bump the versions in git, push an automated commit
# then run an analogue of `cargo publish`
jobs: |
Nice, this looks exactly like the thing I was looking for ❤️ |
This may be closed in favor of #222 |
Testing merge queues?