-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
CI: run only sanity check on limited OSes for nonbehavioral changes #16564
Conversation
cae6107
to
47e9139
Compare
Since upstream is still struggling with insufficient runners, I created a PR in my fork. When using quick mode, zfs-qemu takes about 20 minutes * 7 platforms (and can certainly be further reduced): https://github.com/Harry-Chen/zfs/actions/runs/11011261744 |
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.
Thanks for putting this together to quickly. I'm no expert on GitHub Actions but this makes sense to me and should take some load off the builders. I'm sure we'll continue to refine and needed. Just a couple small nits from me.
The commit uses heuristics to determine whether a PR is behavioral: It runs "quick" CI (i.e., only use sanity.run on fewer OSes) if (explicity required by user): - the *last* commit message contains a line 'ZFS-CI-Type: quick', or if (by heuristics): - the files changed are not in the list of specified directory, and - all commit messages does not contain 'ZFS-CI-Type: full'. It runs "full" CI otherwise. See: openzfs#16561 (comment) Signed-off-by: Shengqi Chen <harry-chen@outlook.com>
47e9139
to
ae04fc6
Compare
@behlendorf All suggestions applied. I also changed my wording from "trivial" to "nonbehavioral". Documentation & other stuff are also important to this project :-) |
The commit uses heuristics to determine whether a PR is behavioral: It runs "quick" CI (i.e., only use sanity.run on fewer OSes) if (explicitly requested by user): - the *last* commit message contains a line 'ZFS-CI-Type: quick', or if (by heuristics): - the files changed are not in the list of specified directory, and - all commit messages does not contain 'ZFS-CI-Type: full'. It runs "full" CI otherwise. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de> Signed-off-by: Shengqi Chen <harry-chen@outlook.com> Closes openzfs#16564
Motivation and Context
Some small and nonbehavioral changes (e.g. to documentation or manpages) do not need a full CI run.
Description
The commit uses some heuristics to determine whether a PR is behavioral:
It runs "quick" CI (i.e., only use sanity.run on fewer OSes) if (explicity required by user):
It runs "full" CI otherwise.
See: #16561 (comment)
How Has This Been Tested?
Tested in my own fork: https://github.com/Harry-Chen/zfs/actions/runs/11011261744
Types of changes
(If enhancement to CI performance also counts.)
Checklist:
Signed-off-by
.