GitHub Actions: Split test_build workflow in 3 #1123
Merged
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.
This PR splits the
test_buildworkflow into 3 sub-workflows, one per platform (Ubuntu, macOS & Windows), similarly to what is done in https://github.com/gstlearn/gstlearn (nonreg-testworkflows). The 3 new files should be more manageable that the original one. In particular, it is easier to diff them to spot inconsistencies between the workflows.The original
test.ymlworkflow has been kept as an entry point. It should be triggered at every PR and commit on thedevbranch, same as before.The big advantage in the proposed approach is the use of the
workflow_dispatchtrigger (https://docs.github.com/fr/actions/reference/workflows-and-actions/events-that-trigger-workflows#workflow_call) that allow users to manually trigger individual workflows on a given branch directly from the GitHub UI (Go to the Actions tab, select a workflow on the left column then click on the "Run workflow" button on the right - you can try on my fork).The main drawback of this approach is that it is quite harder to prevent forks to trigger the workflows when pushes happen in the
devbranch (the workflow is currently skipped with a condition in each job).I guess if TTK developers don't want to have CI workflows automatically triggered, they have to work with branches (or temporarily disable the triggers in the workflow file in their own
devbranch).This PR makes also a few updates in the workflows:
sccache, etc.)mozilla-actions/sccache-actionreplacesf3d-app/sccache-setup-action. I never saw any cache hit in the "Show sccache results" steps. With mozilla's action, this seems to works better. The cache summary is now displayed on the "Summary" view of the workflowcheck_codeworkflow has also been integrated in thetest_buildworkflow throughworkflow_calland can also be manually triggered withworkflow_dispatch. I removed the tag push and the pull request triggers (everything is handled intest.yml).pvsmwere taking a very long time to run on Ubuntu or macOS, they have been skipped.Enjoy,
Pierre