1 # CI script for testing Wine
5 image: $CI_REGISTRY/wine/wine:debian-bookworm
12 - key: wine-gecko-$GECKO_VER
14 - wine-gecko-$GECKO_VER-x86.msi
15 - wine-gecko-$GECKO_VER-x86_64.msi
16 - key: wine-mono-$MONO_VER
18 - wine-mono-$MONO_VER-x86.msi
21 printf '\e[0Ksection_start:%s:wine_test_prepare_env[collapsed=true]\r\e[0K' "$(date +%s)"
22 printf '\e[36;1mPreparing environment for Wine\e[0m\n'
24 - export PATH=$BASEDIR/usr/local/bin:$PATH
26 - export LC_ALL=C.UTF-8
27 - export LP_NUM_THREADS=4
28 - export WINEDEBUG=err-all,fixme-all
30 cat >$HOME/xorg.conf << EOF
37 - echo 'exec /usr/bin/fvwm -f config -c "Style * MwmDecor" -c "Style * UsePPosition" 2>/dev/null' >$HOME/.xinitrc
38 - startx -- -config $HOME/xorg.conf $DISPLAY &
39 - test -f wine-gecko-$GECKO_VER-x86.msi || curl -o wine-gecko-$GECKO_VER-x86.msi https://dl.winehq.org/wine/wine-gecko/$GECKO_VER/wine-gecko-$GECKO_VER-x86.msi
40 - test -f wine-gecko-$GECKO_VER-x86_64.msi || curl -o wine-gecko-$GECKO_VER-x86_64.msi https://dl.winehq.org/wine/wine-gecko/$GECKO_VER/wine-gecko-$GECKO_VER-x86_64.msi
41 - test -f wine-mono-$MONO_VER-x86.msi || curl -o wine-mono-$MONO_VER-x86.msi https://dl.winehq.org/wine/wine-mono/$MONO_VER/wine-mono-$MONO_VER-x86.msi
42 - mkdir -p $HOME/Documents $HOME/Desktop usr/local/share/wine/gecko usr/local/share/wine/mono
43 - ln -sf $BASEDIR/wine-gecko-$GECKO_VER-x86.msi $BASEDIR/wine-gecko-$GECKO_VER-x86_64.msi usr/local/share/wine/gecko
44 - ln -sf $BASEDIR/wine-mono-$MONO_VER-x86.msi usr/local/share/wine/mono
45 - pulseaudio --start --exit-idle-time=-1
46 - wine wineboot.exe -u
48 - printf '\e[0Ksection_end:%s:wine_test_prepare_env\r\e[0K' "$(date +%s)"
53 INCLUDE_TESTS: "dinput"
55 - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
59 - export WINETEST_COLOR=1
60 - wine usr/local/lib/wine/x86_64-windows/winetest.exe -q -q -o - -t gitlab -u $CI_JOB_URL $INCLUDE_TESTS
65 EXCLUDE_TESTS: "d3d11:d3d11 d3d9:d3d9ex d3d9:visual"
67 - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
71 - export WINETEST_COLOR=1
72 - wine usr/local/lib/wine/i386-windows/winetest.exe -q -q -o - -t gitlab -u $CI_JOB_URL -n $EXCLUDE_TESTS
80 - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
86 - $WINETEST_ARGS = @(Get-Content ./winetest.args)
87 - 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 }
89 - Get-Content ./winetest.log
101 - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
103 - job: build-winetest
107 - $WINETEST_ARGS = @(Get-Content ./winetest.args)
108 - 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 }
110 - Get-Content ./winetest.log
119 - if: $CI_PIPELINE_SOURCE == 'trigger' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
121 - job: build-daily-linux
123 - wine usr/local/lib/wine/i386-windows/winetest.exe -q -t gitlab-$CI_JOB_NAME -u $CI_JOB_URL
128 - if: $CI_PIPELINE_SOURCE == 'trigger' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
130 - job: build-daily-linux
132 - wine usr/local/lib/wine/x86_64-windows/winetest.exe -q -t gitlab-$CI_JOB_NAME -u $CI_JOB_URL
140 - if: $CI_PIPELINE_SOURCE == 'trigger' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
142 - job: build-daily-winetest
146 - ./winetest.exe -q -t gitlab-$CI_JOB_NAME -u $CI_JOB_URL
154 - if: $CI_PIPELINE_SOURCE == 'trigger' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
156 - job: build-daily-winetest
160 - ./winetest64.exe -q -t gitlab-$CI_JOB_NAME -u $CI_JOB_URL