https://bugs.winehq.org/show_bug.cgi?id=56185
Bug ID: 56185 Summary: The GitLab Windows test job runs even when not needed Product: WineHQ Gitlab Version: unspecified Hardware: x86-64 OS: Windows Status: NEW Severity: normal Priority: P2 Component: gitlab-unknown Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com
The GitLab Windows test jobs run even for MRs that donĀ“t touch the tests. For instance MR!4840 does not touch the test: https://gitlab.winehq.org/wine/wine/-/merge_requests/4840/diffs
And yet test-win10-21h2-32 ran (same for the 64-bit tests job): https://gitlab.winehq.org/fgouget/wine/-/jobs/48245
And the corresponding winetest.log file is empty which corresponds to an empty winetest.args file. This makes sense since build-linux systematically generates winetest.args and it's only in the Windows job that we check whether that file is empty or not.
This could be avoided by generating dynamic child jobs in build-linux. Then the check for whether it is necessary to run the Windows tests could be done in build-linux and a 'dummy: rules: when: never' job could be generated if nothing needs to be run.
See below for an example of a dynamic child job. https://blog.devops.dev/using-dynamic-pipelines-in-gitlab-583cf4f6acd0