Since we don't have the bridge anymore, and as I understand it's not coming back (?), it's becoming very easy to miss windows tests regressions. This should at least make sure we get some direct visibility of tests running on Win10.
-- v3: gitlab: Only run the modifieds tests on Windows for an MR. gitlab: Add windows tests to MR pipeline.
From: Rémi Bernon rbernon@codeweavers.com
--- tools/gitlab/build.yml | 20 +++++++++++++++++- tools/gitlab/test.yml | 46 ++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 63 insertions(+), 3 deletions(-)
diff --git a/tools/gitlab/build.yml b/tools/gitlab/build.yml index 8a5d5b40ac1..af9abb7ebc0 100644 --- a/tools/gitlab/build.yml +++ b/tools/gitlab/build.yml @@ -52,6 +52,24 @@ build-mac: - export PATH="/usr/local/opt/ccache/libexec:$PATH" - git rebase $CI_MERGE_REQUEST_DIFF_BASE_SHA --exec ./tools/gitlab/build-mac
+build-winetest: + stage: build + image: $CI_REGISTRY/wine/wine:debian-bookworm + rules: + - if: $CI_PIPELINE_SOURCE == 'merge_request_event' + needs: + - job: build-linux + variables: + GIT_STRATEGY: none + artifacts: + name: winetest + paths: + - winetest.exe + - winetest64.exe + script: + - mv usr/local/lib/wine/i386-windows/winetest.exe winetest.exe + - mv usr/local/lib/wine/x86_64-windows/winetest.exe winetest64.exe + build-daily-linux: extends: .wine-build rules: @@ -63,7 +81,7 @@ build-daily-linux: script: - ./tools/gitlab/build-linux
-build-winetest: +build-daily-winetest: stage: build image: $CI_REGISTRY/wine/wine:debian-bookworm rules: diff --git a/tools/gitlab/test.yml b/tools/gitlab/test.yml index 590eacb2438..64ad90c76cb 100644 --- a/tools/gitlab/test.yml +++ b/tools/gitlab/test.yml @@ -67,6 +67,48 @@ test-linux-32: - export WINETEST_COLOR=1 - wine usr/local/lib/wine/i386-windows/winetest.exe -q -q -o - -t gitlab -u $CI_JOB_URL -n $EXCLUDE_TESTS
+test-win10-21h2-32: + stage: test + interruptible: true + variables: + GIT_STRATEGY: none + EXCLUDE_TESTS: "d3d11:d3d11 d3d9:d3d9ex d3d9:visual" + rules: + - if: $CI_PIPELINE_SOURCE == 'merge_request_event' + needs: + - job: build-winetest + tags: + - win10-21h2 + script: + - ./winetest.exe -q -q -o - -t gitlab -u $CI_JOB_URL -n $EXCLUDE_TESTS >winetest.log + after_script: + - Get-Content ./winetest.log + artifacts: + when: always + paths: + - winetest.log + +test-win10-21h2-64: + stage: test + interruptible: true + variables: + GIT_STRATEGY: none + INCLUDE_TESTS: "dinput" + rules: + - if: $CI_PIPELINE_SOURCE == 'merge_request_event' + needs: + - job: build-winetest + tags: + - win10-21h2 + script: + - ./winetest64.exe -q -q -o - -t gitlab -u $CI_JOB_URL $INCLUDE_TESTS >winetest.log + after_script: + - Get-Content ./winetest.log + artifacts: + when: always + paths: + - winetest.log + debian-32: extends: .wine-test rules: @@ -93,7 +135,7 @@ win10-21h2-32: rules: - if: $CI_PIPELINE_SOURCE == 'trigger' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH needs: - - job: build-winetest + - job: build-daily-winetest tags: - win10-21h2 script: @@ -107,7 +149,7 @@ win10-21h2-64: rules: - if: $CI_PIPELINE_SOURCE == 'trigger' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH needs: - - job: build-winetest + - job: build-daily-winetest tags: - win10-21h2 script:
From: Rémi Bernon rbernon@codeweavers.com
--- tools/gitlab/build.yml | 4 ++++ tools/gitlab/test.yml | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/tools/gitlab/build.yml b/tools/gitlab/build.yml index af9abb7ebc0..81d0e3f969c 100644 --- a/tools/gitlab/build.yml +++ b/tools/gitlab/build.yml @@ -36,6 +36,8 @@ build-linux: - usr/local/ script: - git rebase $CI_MERGE_REQUEST_DIFF_BASE_SHA --exec ./tools/gitlab/build-linux + - git diff --name-only $CI_MERGE_REQUEST_DIFF_BASE_SHA | sed -re '//tests//!d; s@/tests/.*@/tests/Makefile.in@' | + (xargs -r ls 2>/dev/null || true) | xargs -r sed '/TESTDLL/!d; s@.dll@@; s@.*= *@@' >usr/local/share/wine/winetest.args
build-mac: extends: .wine-build @@ -64,9 +66,11 @@ build-winetest: artifacts: name: winetest paths: + - winetest.args - winetest.exe - winetest64.exe script: + - mv usr/local/share/wine/winetest.args winetest.args - mv usr/local/lib/wine/i386-windows/winetest.exe winetest.exe - mv usr/local/lib/wine/x86_64-windows/winetest.exe winetest64.exe
diff --git a/tools/gitlab/test.yml b/tools/gitlab/test.yml index 64ad90c76cb..756c4a41ae5 100644 --- a/tools/gitlab/test.yml +++ b/tools/gitlab/test.yml @@ -72,7 +72,6 @@ test-win10-21h2-32: interruptible: true variables: GIT_STRATEGY: none - EXCLUDE_TESTS: "d3d11:d3d11 d3d9:d3d9ex d3d9:visual" rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' needs: @@ -80,7 +79,8 @@ test-win10-21h2-32: tags: - win10-21h2 script: - - ./winetest.exe -q -q -o - -t gitlab -u $CI_JOB_URL -n $EXCLUDE_TESTS >winetest.log + - $WINETEST_ARGS = Get-Content ./winetest.args + - if ($WINETEST_ARGS.count -gt 0) { ./winetest.exe -q -q -o - -t gitlab -u $CI_JOB_URL @WINETEST_ARGS >winetest.log } else { echo $null >winetest.log } after_script: - Get-Content ./winetest.log artifacts: @@ -93,7 +93,6 @@ test-win10-21h2-64: interruptible: true variables: GIT_STRATEGY: none - INCLUDE_TESTS: "dinput" rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' needs: @@ -101,7 +100,8 @@ test-win10-21h2-64: tags: - win10-21h2 script: - - ./winetest64.exe -q -q -o - -t gitlab -u $CI_JOB_URL $INCLUDE_TESTS >winetest.log + - $WINETEST_ARGS = Get-Content ./winetest.args + - if ($WINETEST_ARGS.count -gt 0) { ./winetest64.exe -q -q -o - -t gitlab -u $CI_JOB_URL @WINETEST_ARGS >winetest.log } else { echo $null >winetest.log } after_script: - Get-Content ./winetest.log artifacts:
v3: Restore jobs that were disabled for testing it.