-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Restricted AArch64 CI to relevant changes #2259
Conversation
The issue with approach taken in this PR is that Github still considers AArch64 CI checks required and prevents PR from being promoted. |
@theComputeKid, any ideas here? |
One solution (but not ideal) is that we add a step in the AArch64 pipeline to read the label and then make a decision based on that to quit successfully early. Drawbacks:
Advantages:
I'm working on a PR to reduce the configs AArch64, should have that out shortly. |
Stackoverflow suggests to create an action with same name but with opposite condition that would always run successfully (see here) |
This approach is very limited as 'opposite condition' cannot always be described using trigger path syntax. Conditions suggested in the answer with |
74a4569
to
571c69f
Compare
I would suggest that at this point we make sure that AArch64 CI runs only for relevant changes and figure out how to make it required later. Github developers are aware of our pain. We are taking the same approach for x64 CI: #2281. I expect codeowners (i.e. people allowed to merge PRs) would use CI as a tool to prevent breaking changes. |
430aba3
to
3026439
Compare
Does this mean that the CI will not run if not needed, but then also the "required check" will not be satisfied and an override will be needed? |
I was playing around with a script that would, in the first step:
Then each further step would skip successfully if that env variable is present. It is over-engineering for the problem but it would get the job done gracefully. This however still boots up an AArch64 runner, which we want to avoid. |
Yes, required check will not work with this setup. I believe from developer quality of life perspective it's more important to get this part completed than figuring out how to enable required checks. For example currently broken AArch64 CI would block all PRs from being merged to the repo. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whoever merges now needs to check whether a failure in CI is a genuine failure, or caused by skipping CI.
3026439
to
ec27e38
Compare
ec27e38
to
4192f63
Compare
Whoever merges a PR needs to check whether it introduces failures in CI. Skipping CI will not flag any issues. |
There's no need to run AArch64 CI on changes that are unlikely to affect this platform.