-
Notifications
You must be signed in to change notification settings - Fork 40
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
Add a workflow to create llvm artefacts for a branch #697
Merged
Conversation
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
ae860d4
to
c666f71
Compare
84651f1
to
500085c
Compare
38a4802
to
a2021ea
Compare
coldav
commented
Mar 27, 2025
coldav
commented
Mar 27, 2025
coldav
commented
Mar 27, 2025
31dc4ac
to
fe9365d
Compare
hvdijk
reviewed
Apr 1, 2025
fe9365d
to
e46b636
Compare
hvdijk
reviewed
Apr 1, 2025
hvdijk
reviewed
Apr 1, 2025
hvdijk
reviewed
Apr 1, 2025
e46b636
to
3cc5660
Compare
hvdijk
reviewed
Apr 2, 2025
3cc5660
to
081c96b
Compare
The current system was very limited to being able to cope with updates of llvm. It also did not allow us to run all testing on one llvm or the other. Additionally, it lacked flexibility. Build llvm as an artefact before testing. Option to support using caching on a per llvm basis - but unlike before this will build it if it does not find it. planned_testing_caller.yml has been changed to call both internal tests (run_ock_internal_tests.yml renamed from run_pr_tests.yml) and external tests (run_ock_external_tests.yml, renamed from planned_testing.yml). It has also been changed so it can only be run via being called. It allows a wide variety of inputs so different variants of the pipeline can be run. At the top of the planned testing change are per llvm callers, planned_testing_caller_19.yml and planned_testing_caller_20.yml. These do little more than call planned_testing.yml with different llvms on a cron job. They are not expected to change much. llvm_source is passed down to the run_* workflows, and has a run id option which means it downloads it from that run id. If it is the same workflow id as being run on, then it will use download-artifact, otherwise it will use gh. This additionally switches the overnight testing to llvm 19 and llvm 20 from a previous 18/19 mix, run on different nights. Some extra flexibility has also been added for which runners are used as it was difficult to test with the conflict on available runners.
081c96b
to
bd7027b
Compare
alan-forbes-cp
approved these changes
Apr 3, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
Change planned testing to build llvm and run all tests.
Reason for change
The current system was very limited to being able to cope with updates of llvm. It also did not allow us to run all testing on
one llvm or the other. Additionally, it lacked flexibility.
Description of change
Build llvm as an artefact before testing. Option to support using caching on a per llvm basis - but unlike before this will build it if it does not find it.
planned_testing_caller.yml has been changed to call both internal tests (run_ock_internal_tests.yml renamed from run_pr_tests.yml) and external tests (run_ock_external_tests.yml, renamed from
planned_testing.yml). It has also been changed so it can only be run via being called. It allows a wide variety of inputs so different variants of the pipeline can be run.
At the top of the planned testing change are per llvm callers, planned_testing_caller_19.yml and planned_testing_caller_20.yml. These do little more than call planned_testing.yml with different llvms on a cron job. They are not expected to change much.
llvm_source is passed down to the run_* workflows, and has a run id option which means it downloads it from that run id. If it is the same workflow id as being run on, then it will use download-artifact, otherwise it will use gh.
This additionally switches the overnight testing to llvm 19 and llvm 20 from a previous 18/19 mix, run on different nights.
Some extra flexibility has also been added for which runners are used as it was difficult to test with the conflict on available runners.