forked from iree-org/iree
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implement CI job optionality (iree-org#14312)
With an increasing number of CI jobs and more resource issues, I think it's useful for people to be able to specify which jobs they actually want to run. In particular, I think it would be beneficial to make some jobs, such as Windows, Mac, and A100, available for opt-in. Personally, when adding new jobs, I am routinely hacking the ci.yml file to only run specific jobs and I think I am probably better able to do that: I see other people running the entire workflow repeatedly just to test one job. Now that we re-evaluate the PR description when rerunning the job, people don't need to push another commit or anything after editing the description: they can 'just' cancel and rerun the job (still not ideal). I know people have struggled with the ergonomics of trailers for CI control in the past. I tried to make the tag names follow a consistent format and also added additional error checking like looking for unknown usage of reserved prefixes. Weird tag combinations provide immediate errors. The lack of correspondence between `skip-ci` and `ci-skip` is a bit unfortunate. I'm open to other names, but I don't think we should choose something less natural just to avoid this. We should probably drop `skip-ci` entirely with this because you would spell that `ci-skip: all`. That does have the disadvantage of not being able to provide justification as part of the trailer, but that can be done free-form in the PR description without losing much IMO. One thing this doesn't do is any kind of dependency analysis. That is, if you specify `ci-exactly: test_all`, it's not going to run `build_all` and then the `test_all` job will just fail. This is theoretically something it could do, since it's already parsing the workflow file, but I'm not sure if that actually makes things less confusing. This also perhaps prompts cleaning up the job names so they're a bit pithier and more intuitive. I think `build_test_all_windows` could just be called `windows` for instance: this is a case where very structured names actually get in the way IMO. Fixes iree-org#10042 Tested running locally with various env variable settings. Tested a few different options in this PR also. ci-skip: all
- Loading branch information
1 parent
89919da
commit 09f54d8
Showing
6 changed files
with
453 additions
and
89 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.