-
Notifications
You must be signed in to change notification settings - Fork 529
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
Fix part of #3926: Add support for CI checks in merge queues [Blocked: #4929] #4913
Conversation
@adhiamboperes and/or @seanlip PTAL & let me know if you have any questions. I plan to enable merge queues once this PR goes in. |
This actually needs more work. I realized that the compute_affected_tests workflow needs to always run all tests when a PR is in the merge queue (vs. just the diff that we run on regular CI pushes) to handle the rare case where it misses a target (since changes to develop itself always run the full test suite). Otherwise, the queue will likely devolve to almost running all tests, anyway, if there are stacked changes (since it'll be diffing against develop & automatically including pending changes earlier in the queue). |
This PR can be merged. But please do NOT enable merge-queue. This is because oppiabot is a required check in the repositories, and oppiabot does not execute the CI check since it is not a push event. I'm currently working on a fix for that this week. When the fix is ready, I'll make a PR to both the repositories and request for the merge queue feature to be enabled. |
Ah, thanks for letting me know @gp201. I find it a bit odd that GitHub uses different configurations for pull request & merge queue kick-offs but uses the same branch required checks list. Either way, I probably won't get to this until late next week at the earliest, so I'll keep an eye out for an Oppiabot update. |
@BenHenning merge-queue has been enabled for the oppia repository. As long as all the required checks have the |
Thanks @gp201! For Android, #4929 is the main blocker for this PR as it updates our test computation process to be more flexible in the base branch it uses (which is necessary for merge queues). I still need to think through the integration part a bit more as I'm not entirely sure yet how we should be deciding tests to run. |
Hi @BenHenning, I'm going to mark this PR as stale because it hasn't had any updates for 7 days. If no further activity occurs within 7 days, it will be automatically closed so that others can take up the issue. |
Explanation
Fixes part of #3926 by introducing the necessary workflow adjustments to ensure all required CI workflows will be run when a PR is added to a merge queue (per https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#merge_group).
Note that this PR needs to be merged before merge queues can actually be enabled.
#3926 has some context, but the main benefit that we'll see from merge queues is the ability to avoid needing to keep branches up-to-date with the latest develop without risking non-conflicting changes causing breakages/incompatibilities (since merge queues always verify against the latest changes relative to that PR, even if others go in before it). They technically also offer better merge throughput, but this won't really affect us since we generally only have a few PRs merged each week (versus every hour, for example).
Essential Checklist
For UI-specific PRs only
N/A -- This is a GitHub infrastructure-only change and won't affect build outputs (including the app).