-
Notifications
You must be signed in to change notification settings - Fork 230
[WIP] CI: Fix Skipped Required Workflows, Clean Up #5469
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
Conversation
4d32a75 to
6e4b089
Compare
|
With regard to #5387 (comment) as well as what was done in #5387 and AMReX-Codes/amrex#4197, I tried several approaches including (i) adding dependencies between workflows through The approach implemented here, based on a custom bash script that is called from within each workflow before running the expected checks, seems to be the only one that I got to make work and that doesn't rely on third-party code (hence maybe easier to maintain, debug, etc.). Let me know if this seems like a good enough solution to you. Note that for the clang tidy checks, organized with a strategy matrix approach, we need to apply the |
cf2be87 to
63b3fb2
Compare
068c2e1 to
bbb1df6
Compare
bbb1df6 to
4dbe458
Compare
|
Not clear how the new |
a18a56d to
3b4c6f1
Compare
3b4c6f1 to
af3b2f0
Compare
| # Set paths to ignore (please test grep command below when adding new patterns) | ||
| paths_ignore=() | ||
| paths_ignore+=("Docs/") | ||
| paths_ignore+=(".github/") |
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.
This
paths_ignore+=(".github/")was added for testing purposes and should be removed before the PR is merged, if approved.
|
Replaced by the alternative solution implemented in #5889. |
This implement AMReX's solution to handle skipped but required CI workflows properly, as in AMReX-Codes/amrex#4197. This is necessary due to the limitation described in https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/troubleshooting-required-status-checks#handling-skipped-but-required-checks. PR #5469 implements an alternative solution based on a in-house script, but I figured it may be easier to implement the same solution as in AMReX for maintenance purposes. The new preliminary jobs are named `Analyze / Check changes`. For example, they show up as `CUDA / Analyze / Check changes`, `macOS / Analyze / Check changes`, etc. This will allow all TC members to merge PRs where required workflows are skipped (e.g., PRs that change only documentation files), instead of relying on the WarpX admin team only.
Follow up on #5889 and fix the issue that appeared in #5883, related to the fact that we add the `clang-tidy` checks automatically from a matrix, rather than manually as separate jobs in the workflow file. Note that I had managed to fix a similar issue in the alternative in-house implementation I had proposed in #5469. To-do: - [x] Fix main issue by applying the `if` condition at the `step` level (rather than the `job` level) - [x] Remove `cron` schedule for CodeQL workflows (on Sundays at 3:27 AM...?) - [x] Revert change in .github/workflows/check_changes.yml (implemented only to test the PR) Future PRs: - Skip also CodeQL workflows (C++ and Python files analysis) - not working yet...
This implement AMReX's solution to handle skipped but required CI workflows properly, as in AMReX-Codes/amrex#4197. This is necessary due to the limitation described in https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/troubleshooting-required-status-checks#handling-skipped-but-required-checks. PR BLAST-WarpX#5469 implements an alternative solution based on a in-house script, but I figured it may be easier to implement the same solution as in AMReX for maintenance purposes. The new preliminary jobs are named `Analyze / Check changes`. For example, they show up as `CUDA / Analyze / Check changes`, `macOS / Analyze / Check changes`, etc. This will allow all TC members to merge PRs where required workflows are skipped (e.g., PRs that change only documentation files), instead of relying on the WarpX admin team only.
Follow up on BLAST-WarpX#5889 and fix the issue that appeared in BLAST-WarpX#5883, related to the fact that we add the `clang-tidy` checks automatically from a matrix, rather than manually as separate jobs in the workflow file. Note that I had managed to fix a similar issue in the alternative in-house implementation I had proposed in BLAST-WarpX#5469. To-do: - [x] Fix main issue by applying the `if` condition at the `step` level (rather than the `job` level) - [x] Remove `cron` schedule for CodeQL workflows (on Sundays at 3:27 AM...?) - [x] Revert change in .github/workflows/check_changes.yml (implemented only to test the PR) Future PRs: - Skip also CodeQL workflows (C++ and Python files analysis) - not working yet...
This implement AMReX's solution to handle skipped but required CI workflows properly, as in AMReX-Codes/amrex#4197. This is necessary due to the limitation described in https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/troubleshooting-required-status-checks#handling-skipped-but-required-checks. PR BLAST-WarpX#5469 implements an alternative solution based on a in-house script, but I figured it may be easier to implement the same solution as in AMReX for maintenance purposes. The new preliminary jobs are named `Analyze / Check changes`. For example, they show up as `CUDA / Analyze / Check changes`, `macOS / Analyze / Check changes`, etc. This will allow all TC members to merge PRs where required workflows are skipped (e.g., PRs that change only documentation files), instead of relying on the WarpX admin team only.
Work-in-progress PR to try out various solutions to handle skipped but required CI workflows properly, e.g., when only documentation is changed (trivial one-word change in this PR).
Follow-up to #5387. Originally tried some of these in #5386.