Skip to content

GHA: split test.yml into per-platform files to drop cross-platform skip noise - #245

Merged
compnerd merged 1 commit into
mainfrom
compnerd/split
Jul 28, 2026
Merged

GHA: split test.yml into per-platform files to drop cross-platform skip noise#245
compnerd merged 1 commit into
mainfrom
compnerd/split

Conversation

@compnerd

Copy link
Copy Markdown
Owner

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.

…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.
@compnerd
compnerd merged commit 6c899be into main Jul 28, 2026
43 of 46 checks passed
@compnerd
compnerd deleted the compnerd/split branch July 28, 2026 00:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant