mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2025-12-30 17:49:02 +00:00
Update .gitlab-ci.yml file
This commit is contained in:
parent
837c30875d
commit
626adfc880
172
.gitlab-ci.yml
172
.gitlab-ci.yml
@ -16,160 +16,6 @@ before_script:
|
||||
ninja -C build-spice-protocol install &&
|
||||
rm -rf build-spice-protocol
|
||||
|
||||
makecheck:
|
||||
script:
|
||||
# Also check out-of-tree build
|
||||
- git clean -fdx # cleanup after previous builds
|
||||
- git submodule foreach --recursive git clean -fdx
|
||||
- mkdir builddir
|
||||
- cd builddir
|
||||
- >
|
||||
CFLAGS='-O2 -pipe -g -fsanitize=address -fno-omit-frame-pointer -Wframe-larger-than=40920'
|
||||
CXXFLAGS='-O2 -pipe -g -fsanitize=address -fno-omit-frame-pointer -Wframe-larger-than=40920'
|
||||
LDFLAGS='-fsanitize=address -lasan'
|
||||
../autogen.sh --enable-werror
|
||||
- make
|
||||
- make -C server check || (cat server/tests/test-suite.log && exit 1)
|
||||
|
||||
meson-makecheck:
|
||||
script:
|
||||
- git clean -fdx
|
||||
- git submodule foreach --recursive git clean -fdx
|
||||
- >
|
||||
CFLAGS='-O2 -pipe -g -fsanitize=address -fno-omit-frame-pointer -Wframe-larger-than=40920'
|
||||
CXXFLAGS='-O2 -pipe -g -fsanitize=address -fno-omit-frame-pointer -Wframe-larger-than=40920'
|
||||
LDFLAGS='-fsanitize=address -lasan'
|
||||
meson setup --buildtype=release --werror build || (cat build/meson-logs/meson-log.txt && exit 1)
|
||||
- ninja -C build
|
||||
- (cd build && meson test) || (cat build/meson-logs/testlog.txt && exit 1)
|
||||
|
||||
# check non-standard options, currently
|
||||
# --enable-statistics compile statistic code
|
||||
# --without-sasl disable SASL
|
||||
options:
|
||||
script:
|
||||
- ./autogen.sh --enable-statistics --without-sasl --enable-werror
|
||||
- make
|
||||
- make -C server check || (cat server/tests/test-suite.log && exit 1)
|
||||
|
||||
meson-options:
|
||||
script:
|
||||
- git clean -fdx
|
||||
- git submodule foreach --recursive git clean -fdx
|
||||
- meson setup --buildtype=release --werror -Dstatistics=true -Dsasl=false -Dlz4=false -Dtests=false build
|
||||
- ninja -C build
|
||||
- (cd build && meson test) || (cat build/meson-logs/testlog.txt && exit 1)
|
||||
|
||||
check-valgrind:
|
||||
script:
|
||||
- dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm -y
|
||||
- dnf debuginfo-install spice-server glib2 -y
|
||||
- >
|
||||
dnf install valgrind
|
||||
gstreamer1-libav gstreamer1-plugins-ugly gstreamer1-plugins-good gstreamer1-plugins-bad-free
|
||||
-y
|
||||
- >
|
||||
CFLAGS='-O2 -pipe -g -D_FORTIFY_SOURCE=0'
|
||||
CXXFLAGS='-O2 -pipe -g -D_FORTIFY_SOURCE=0'
|
||||
./autogen.sh --enable-valgrind --enable-extra-checks
|
||||
- make
|
||||
- make check-valgrind || (cat server/tests/test-suite-memcheck.log && exit 1)
|
||||
|
||||
syntax-check:
|
||||
script:
|
||||
- ./autogen.sh
|
||||
- make syntax-check
|
||||
|
||||
distcheck:
|
||||
script:
|
||||
- git clean -fdx
|
||||
- git submodule foreach --recursive git clean -fdx
|
||||
- ./autogen.sh --enable-manual --enable-werror
|
||||
- make distcheck
|
||||
- bz2=$( echo spice-*.bz2 )
|
||||
- dir=${bz2%.tar.bz2}
|
||||
- rm -rf "$dir"
|
||||
- tar jxvf "$bz2"
|
||||
- cd "$dir"
|
||||
- meson setup --buildtype=release build
|
||||
- ninja -C build
|
||||
|
||||
# Same as makecheck job but use a Centos image
|
||||
makecheck-centos:
|
||||
before_script:
|
||||
- dnf install -y 'dnf-command(config-manager)'
|
||||
- dnf config-manager --set-enabled crb
|
||||
- >
|
||||
dnf install git libasan orc-devel glib-networking
|
||||
gcc glib2-devel diffutils
|
||||
opus-devel pixman-devel openssl-devel libjpeg-devel
|
||||
cyrus-sasl-devel lz4-devel
|
||||
gstreamer1-devel gstreamer1-plugins-base-devel
|
||||
git-core python3-pyparsing python3-six python3
|
||||
meson gcc-c++
|
||||
-y
|
||||
- *protocol
|
||||
image: quay.io/centos/centos:stream9
|
||||
script:
|
||||
- >
|
||||
CFLAGS='-O2 -pipe -g -fsanitize=address -fno-omit-frame-pointer -Wframe-larger-than=40920'
|
||||
CXXFLAGS='-O2 -pipe -g -fsanitize=address -fno-omit-frame-pointer -Wframe-larger-than=40920'
|
||||
LDFLAGS='-fsanitize=address -lasan'
|
||||
meson setup --buildtype=release --werror build || (cat build/meson-logs/meson-log.txt && exit 1)
|
||||
- ninja -C build
|
||||
- (cd build && meson test) || (cat build/meson-logs/testlog.txt && exit 1)
|
||||
|
||||
# Same as meson-makecheck job but use a Debian i386 image,
|
||||
# this in order to test a 32 bit machine
|
||||
makecheck-debian32:
|
||||
before_script:
|
||||
- apt-get update -y
|
||||
- >
|
||||
apt-get install -y
|
||||
debhelper
|
||||
gstreamer1.0-libav gstreamer1.0-plugins-base gstreamer1.0-plugins-good
|
||||
gstreamer1.0-plugins-ugly gstreamer1.0-tools
|
||||
libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
|
||||
libcacard-dev libglib2.0-dev
|
||||
libjpeg-dev liblz4-dev libopus-dev libpixman-1-dev libsasl2-dev
|
||||
libspice-protocol-dev libssl-dev pkg-config
|
||||
python3-six python3-pyparsing liborc-0.4-dev meson git
|
||||
g++ autoconf-archive
|
||||
- *protocol
|
||||
image: i386/debian:latest
|
||||
script:
|
||||
- git clean -fdx
|
||||
- git submodule foreach --recursive git clean -fdx
|
||||
- >
|
||||
CFLAGS='-O2 -pipe -g -fsanitize=address -fno-omit-frame-pointer -Wframe-larger-than=40920'
|
||||
CXXFLAGS='-O2 -pipe -g -fsanitize=address -fno-omit-frame-pointer -Wframe-larger-than=40920'
|
||||
LDFLAGS='-fsanitize=address -lasan'
|
||||
meson setup --buildtype=release --werror build || (cat build/meson-logs/meson-log.txt && exit 1)
|
||||
- ninja -C build
|
||||
- (cd build && meson test) || (cat build/meson-logs/testlog.txt && exit 1)
|
||||
|
||||
# Same as makecheck job but use Windows build
|
||||
makecheck-windows:
|
||||
script:
|
||||
- >
|
||||
dnf install -y
|
||||
wine mingw64-gcc-c++
|
||||
mingw64-openssl mingw64-glib2 mingw64-glib-networking mingw64-libjpeg-turbo
|
||||
mingw64-pixman mingw64-opus mingw64-winpthreads mingw64-zlib
|
||||
mingw64-gstreamer1-plugins-base mingw64-gstreamer1-plugins-good mingw64-orc
|
||||
- mkdir spice-protocol/build
|
||||
- (cd spice-protocol/build && mingw64-meson --werror && ninja install)
|
||||
- >
|
||||
mingw64-meson --buildtype=release -Dlz4=false -Dsasl=false
|
||||
--cross-file build-aux/meson-win-wrapper.txt build
|
||||
- ninja -C build
|
||||
- export G_TLS_GNUTLS_PRIORITY="NORMAL:%COMPAT"
|
||||
- export WINEPATH='Z:\usr\x86_64-w64-mingw32\sys-root\mingw\bin'
|
||||
- export LANG=en_US.UTF-8
|
||||
# Remove configuration otherwise OpenSSL initialization will fail
|
||||
- rm -f /usr/x86_64-w64-mingw32/sys-root/mingw/etc/pki/tls/openssl.cnf
|
||||
- (cd build && exec meson test --suite spice -t 5) || (cat build/meson-logs/testlog.txt && exit 1)
|
||||
|
||||
websocket-autobahn:
|
||||
before_script:
|
||||
- apt-get update -y
|
||||
@ -190,7 +36,7 @@ websocket-autobahn:
|
||||
image: ubuntu:bionic
|
||||
script:
|
||||
- pip2 install 'wsaccel==0.6.3'
|
||||
- pip2 install 'pip install Automat==24.8.1'
|
||||
- pip2 install 'Automat==24.8.1'
|
||||
- pip2 install autobahntestsuite
|
||||
- wstest -a
|
||||
- git clean -fdx
|
||||
@ -208,19 +54,3 @@ websocket-autobahn:
|
||||
- kill $pid
|
||||
- server/tests/autobahn-check-report reports/servers/index.json
|
||||
|
||||
trigger-website-update:
|
||||
image: ruby:latest
|
||||
before_script:
|
||||
- gem install asciidoctor
|
||||
only:
|
||||
variables:
|
||||
- $TOKEN
|
||||
changes:
|
||||
- "docs/*.txt"
|
||||
- "docs/images/*"
|
||||
- "docs/manual/*.txt"
|
||||
- "docs/manual/images/*"
|
||||
script:
|
||||
- asciidoctor -d book docs/*.txt docs/manual/*.txt > errors 2>&1
|
||||
- if [ -n "$(cat errors)" ] ; then cat errors; exit 1 ; fi
|
||||
- curl -X POST -F token=$TOKEN -F ref=master https://gitlab.freedesktop.org/api/v4/projects/spice%2Fspice-space/trigger/pipeline
|
||||
|
||||
Loading…
Reference in New Issue
Block a user