widl: Add support for function parameter flags to SLTG typelib generator.
[wine.git] / tools / gitlab / test.yml
blob882f67342a2a5884909aa7eec10a2d26f798a208
1 # CI script for testing Wine
3 .wine-test:
4   stage: test
5   image: $CI_REGISTRY/wine/wine:debian-bookworm
6   interruptible: true
7   variables:
8     GIT_STRATEGY: none
9     GECKO_VER: 2.47.4
10     MONO_VER: 9.1.0
11   cache:
12     - key: wine-gecko-$GECKO_VER
13       paths:
14         - wine-gecko-$GECKO_VER-x86.msi
15         - wine-gecko-$GECKO_VER-x86_64.msi
16     - key: wine-mono-$MONO_VER
17       paths:
18         - wine-mono-$MONO_VER-x86.msi
19   before_script:
20     - |
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'
23     - export BASEDIR=$PWD
24     - export PATH=$BASEDIR/usr/local/bin:$PATH
25     - export DISPLAY=:0
26     - export LC_ALL=C.UTF-8
27     - export LP_NUM_THREADS=4
28     - export WINEDEBUG=err-all,fixme-all
29     - |
30       cat >$HOME/xorg.conf << EOF
31       Section "Device"
32         Identifier "dummy"
33         Driver "dummy"
34         VideoRam 32768
35       EndSection
36       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
47     - wineserver -w
48     - printf '\e[0Ksection_end:%s:wine_test_prepare_env\r\e[0K' "$(date +%s)"
50 test-linux-64:
51   extends: .wine-test
52   variables:
53     INCLUDE_TESTS: "dinput"
54   rules:
55     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
56   needs:
57     - job: build-linux
58   script:
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
62 test-linux-32:
63   extends: .wine-test
64   variables:
65     EXCLUDE_TESTS: "d3d11:d3d11 d3d9:d3d9ex d3d9:visual"
66   rules:
67     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
68   needs:
69     - job: build-linux
70   script:
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
74 test-win10-21h2-32:
75   stage: test
76   interruptible: true
77   variables:
78     GIT_STRATEGY: none
79   rules:
80     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
81   needs:
82     - job: build-winetest
83   tags:
84     - win10-21h2
85   script:
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 }
88   after_script:
89     - Get-Content ./winetest.log
90   artifacts:
91     when: always
92     paths:
93       - winetest.log
95 test-win10-21h2-64:
96   stage: test
97   interruptible: true
98   variables:
99     GIT_STRATEGY: none
100   rules:
101     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
102   needs:
103     - job: build-winetest
104   tags:
105     - win10-21h2
106   script:
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 }
109   after_script:
110     - Get-Content ./winetest.log
111   artifacts:
112     when: always
113     paths:
114       - winetest.log
116 debian-32:
117   extends: .wine-test
118   rules:
119     - if: $CI_PIPELINE_SOURCE == 'trigger' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
120   needs:
121     - job: build-daily-linux
122   script:
123     - wine usr/local/lib/wine/i386-windows/winetest.exe -q -t gitlab-$CI_JOB_NAME -u $CI_JOB_URL
125 debian-64:
126   extends: .wine-test
127   rules:
128     - if: $CI_PIPELINE_SOURCE == 'trigger' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
129   needs:
130     - job: build-daily-linux
131   script:
132     - wine usr/local/lib/wine/x86_64-windows/winetest.exe -q -t gitlab-$CI_JOB_NAME -u $CI_JOB_URL
134 win10-21h2-32:
135   stage: test
136   interruptible: true
137   variables:
138     GIT_STRATEGY: none
139   rules:
140     - if: $CI_PIPELINE_SOURCE == 'trigger' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
141   needs:
142     - job: build-daily-winetest
143   tags:
144     - win10-21h2
145   script:
146     - ./winetest.exe -q -t gitlab-$CI_JOB_NAME -u $CI_JOB_URL
148 win10-21h2-64:
149   stage: test
150   interruptible: true
151   variables:
152     GIT_STRATEGY: none
153   rules:
154     - if: $CI_PIPELINE_SOURCE == 'trigger' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
155   needs:
156     - job: build-daily-winetest
157   tags:
158     - win10-21h2
159   script:
160     - ./winetest64.exe -q -t gitlab-$CI_JOB_NAME -u $CI_JOB_URL