GHA: split test.yml into per-platform files to drop cross-platform skip noise - #245
Merged
Conversation
…ip noise test.yml defined both platforms' jobs unconditionally, each gated by if: inputs.platform == '<x>'. build.yml calls it once per platform, so every call evaluated all of its jobs and reported the ones that didn't match as skipped -- the Android call's checks list showed every Linux job as skipped, and likewise the other way around. Split test.yml into test-linux.yml and test-android.yml, each containing only that platform's jobs with the platform input and if-guards removed entirely. There is nothing left to skip: a file that only defines Android jobs can't report a Linux job as skipped, because it was never in that file to begin with. build.yml's two test-* callers now point at the matching file instead of passing a platform input to a shared one. Also add a resolve-test-subdirs composite action to de-duplicate the "Resolve test subdirectories" step, which was byte-for-byte identical across both platforms for every category except misc (whose directory list is platform-specific and is now passed in by the caller). Using a local composite action from within a workflow_call file requires the caller's repo to already be checked out at that path, so Checkout ds2 moves earlier, immediately before this step, in every job that uses it.
This file contains hidden or 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
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.
test.yml defined both platforms' jobs unconditionally, each gated by if: inputs.platform == ''. build.yml calls it once per platform, so every call evaluated all of its jobs and reported the ones that didn't match as skipped -- the Android call's checks list showed every Linux job as skipped, and likewise the other way around.
Split test.yml into test-linux.yml and test-android.yml, each containing only that platform's jobs with the platform input and if-guards removed entirely. There is nothing left to skip: a file that only defines Android jobs can't report a Linux job as skipped, because it was never in that file to begin with. build.yml's two test-* callers now point at the matching file instead of passing a platform input to a shared one.
Also add a resolve-test-subdirs composite action to de-duplicate the "Resolve test subdirectories" step, which was byte-for-byte identical across both platforms for every category except misc (whose directory list is platform-specific and is now passed in by the caller). Using a local composite action from within a workflow_call file requires the caller's repo to already be checked out at that path, so Checkout ds2 moves earlier, immediately before this step, in every job that uses it.