mirror of
https://gitlab.winehq.org/wine/wine.git
synced 2024-11-19 17:06:04 -07:00
192 lines
5.5 KiB
YAML
192 lines
5.5 KiB
YAML
# CI script for testing Wine
|
|
|
|
.wine-test:
|
|
stage: test
|
|
image: $CI_REGISTRY/wine/wine:debian-bookworm
|
|
interruptible: true
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
GECKO_VER: 2.47.4
|
|
MONO_VER: 9.3.0
|
|
cache:
|
|
- key: wine-gecko-$GECKO_VER
|
|
paths:
|
|
- wine-gecko-$GECKO_VER-x86.msi
|
|
- wine-gecko-$GECKO_VER-x86_64.msi
|
|
- key: wine-mono-$MONO_VER
|
|
paths:
|
|
- wine-mono-$MONO_VER-x86.msi
|
|
before_script:
|
|
- |
|
|
printf '\e[0Ksection_start:%s:wine_test_prepare_env[collapsed=true]\r\e[0K' "$(date +%s)"
|
|
printf '\e[36;1mPreparing environment for Wine\e[0m\n'
|
|
- export BASEDIR=$PWD
|
|
- export PATH=$BASEDIR/usr/local/bin:$PATH
|
|
- export DISPLAY=:0
|
|
- export LC_ALL=C.UTF-8
|
|
- export LP_NUM_THREADS=4
|
|
- export WINEDEBUG=err-all,fixme-all
|
|
- |
|
|
cat >$HOME/xorg.conf << EOF
|
|
Section "Device"
|
|
Identifier "dummy"
|
|
Driver "dummy"
|
|
VideoRam 32768
|
|
EndSection
|
|
EOF
|
|
- echo 'exec /usr/bin/fvwm -f config -c "Style * MwmDecor" -c "Style * UsePPosition" 2>/dev/null' >$HOME/.xinitrc
|
|
- startx -- -config $HOME/xorg.conf $DISPLAY &
|
|
- 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
|
|
- 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
|
|
- 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
|
|
- mkdir -p $HOME/Documents $HOME/Desktop usr/local/share/wine/gecko usr/local/share/wine/mono
|
|
- ln -sf $BASEDIR/wine-gecko-$GECKO_VER-x86.msi $BASEDIR/wine-gecko-$GECKO_VER-x86_64.msi usr/local/share/wine/gecko
|
|
- ln -sf $BASEDIR/wine-mono-$MONO_VER-x86.msi usr/local/share/wine/mono
|
|
- pulseaudio --start --exit-idle-time=-1
|
|
- wine wineboot.exe -u
|
|
- wineserver -w
|
|
- printf '\e[0Ksection_end:%s:wine_test_prepare_env\r\e[0K' "$(date +%s)"
|
|
|
|
test-linux-64:
|
|
extends: .wine-test
|
|
variables:
|
|
INCLUDE_TESTS: "dinput"
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
|
needs:
|
|
- job: build-linux
|
|
script:
|
|
- export WINETEST_COLOR=1
|
|
- wine usr/local/lib/wine/x86_64-windows/winetest.exe -q -q -o - -J winetest.xml $INCLUDE_TESTS
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- winetest.xml
|
|
reports:
|
|
junit: winetest.xml
|
|
|
|
test-linux-32:
|
|
extends: .wine-test
|
|
variables:
|
|
EXCLUDE_TESTS: "d3d11:d3d11 d3d9:d3d9ex d3d9:visual"
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
|
needs:
|
|
- job: build-linux
|
|
script:
|
|
- export WINETEST_COLOR=1
|
|
- wine usr/local/lib/wine/i386-windows/winetest.exe -q -q -o - -J winetest.xml -n $EXCLUDE_TESTS
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- winetest.xml
|
|
reports:
|
|
junit: winetest.xml
|
|
|
|
test-win10-21h2-32:
|
|
stage: test
|
|
interruptible: true
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
|
needs:
|
|
- job: build-winetest
|
|
tags:
|
|
- win10-21h2
|
|
script:
|
|
- $WINETEST_ARGS = @(Get-Content ./winetest.args)
|
|
- |
|
|
if ($WINETEST_ARGS.count -gt 0) {
|
|
./winetest.exe -q -q -o - -J winetest.tmp @WINETEST_ARGS >winetest.log
|
|
} else {
|
|
echo '<?xml version="1.0" encoding="UTF-8"?><testsuites/>' >winetest.tmp
|
|
echo $null >winetest.log
|
|
}
|
|
after_script:
|
|
- Get-Content ./winetest.tmp | Set-Content -Encoding utf8 winetest.xml
|
|
- Get-Content ./winetest.log
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- winetest.xml
|
|
- winetest.log
|
|
reports:
|
|
junit: winetest.xml
|
|
|
|
test-win10-21h2-64:
|
|
stage: test
|
|
interruptible: true
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
|
needs:
|
|
- job: build-winetest
|
|
tags:
|
|
- win10-21h2
|
|
script:
|
|
- $WINETEST_ARGS = @(Get-Content ./winetest.args)
|
|
- |
|
|
if ($WINETEST_ARGS.count -gt 0) {
|
|
./winetest64.exe -q -q -o - -J winetest.tmp @WINETEST_ARGS >winetest.log
|
|
} else {
|
|
echo '<?xml version="1.0" encoding="UTF-8"?><testsuites/>' >winetest.tmp
|
|
echo $null >winetest.log
|
|
}
|
|
after_script:
|
|
- Get-Content ./winetest.tmp | Set-Content -Encoding utf8 winetest.xml
|
|
- Get-Content ./winetest.log
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- winetest.xml
|
|
- winetest.log
|
|
reports:
|
|
junit: winetest.xml
|
|
|
|
debian-32:
|
|
extends: .wine-test
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == 'trigger' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
needs:
|
|
- job: build-daily-linux
|
|
script:
|
|
- wine usr/local/lib/wine/i386-windows/winetest.exe -q
|
|
|
|
debian-64:
|
|
extends: .wine-test
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == 'trigger' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
needs:
|
|
- job: build-daily-linux
|
|
script:
|
|
- wine usr/local/lib/wine/x86_64-windows/winetest.exe -q
|
|
|
|
win10-21h2-32:
|
|
stage: test
|
|
interruptible: true
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == 'trigger' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
needs:
|
|
- job: build-daily-winetest
|
|
tags:
|
|
- win10-21h2
|
|
script:
|
|
- ./winetest.exe -q
|
|
|
|
win10-21h2-64:
|
|
stage: test
|
|
interruptible: true
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == 'trigger' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
needs:
|
|
- job: build-daily-winetest
|
|
tags:
|
|
- win10-21h2
|
|
script:
|
|
- ./winetest64.exe -q
|