ci: Fix build of spice-protocol

spice-protocol is not using Autoconf anymore.
Autobahn suite is now run on normal Fedora docker image.
Drop testing with CentOS 7 i386 in favour of a Debian i386,
CentOS 7 does not support i386 anymore, EPEL 7 is missing for
CentOS 7 i386 so to check a 32 machine better to move to Debian.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Victor Toso <victortoso@redhat.com>
This commit is contained in:
Frediano Ziglio 2020-03-12 19:10:06 +00:00
parent b196e9e78d
commit c6a0844422

View File

@ -11,7 +11,9 @@ before_script:
dconf
-y
- git clone ${CI_REPOSITORY_URL/spice.git/spice-protocol.git}
- (cd spice-protocol && ./autogen.sh --prefix=/usr && make install)
- meson --buildtype=release spice-protocol build-spice-protocol --prefix=/usr --werror
- ninja -C build-spice-protocol install
- rm -rf build-spice-protocol
# This is a workaround for Fedora docker image, this will add some
# missing configuration
# '/org/gnome/system/location/enabled' is just the first key path
@ -94,9 +96,11 @@ makecheck-centos:
libcacard-devel cyrus-sasl-devel lz4-devel
gstreamer1-devel gstreamer1-plugins-base-devel
git-core python3-pyparsing python3-six python3
meson
-y
- git clone ${CI_REPOSITORY_URL/spice.git/spice-protocol.git}
- (cd spice-protocol && ./autogen.sh --prefix=/usr && make install)
- meson --buildtype=release spice-protocol build-spice-protocol --prefix=/usr --werror
- ninja -C build-spice-protocol install
image: centos:latest
script:
- >
@ -106,27 +110,32 @@ makecheck-centos:
- make
- make -C server check || (cat server/tests/test-suite.log && exit 1)
# Same as makecheck job but use a Centos image
makecheck-centos32:
# 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
- >
yum install git libtool make libasan orc-devel glib-networking
yum-utils gcc glib2-devel celt051-devel
opus-devel pixman-devel openssl-devel libjpeg-devel
libcacard-devel cyrus-sasl-devel lz4-devel
gstreamer1-devel gstreamer1-plugins-base-devel
git-core pyparsing python-six
-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
- git clone ${CI_REPOSITORY_URL/spice.git/spice-protocol.git}
- (cd spice-protocol && ./autogen.sh --prefix=/usr && make install)
image: i386/centos:latest
- meson --buildtype=release spice-protocol build-spice-protocol --prefix=/usr --werror
- ninja -C build-spice-protocol install
image: i386/debian:latest
script:
- >
CFLAGS='-O2 -pipe -g -fsanitize=address -fno-omit-frame-pointer -Wframe-larger-than=40920'
LDFLAGS='-fsanitize=address -lasan'
./autogen.sh --enable-celt051
- make
- make -C server check || (cat server/tests/test-suite.log && exit 1)
meson --buildtype=release 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:
@ -137,31 +146,31 @@ makecheck-windows:
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
- cd spice-protocol
- mingw64-configure
- mingw64-make install
- cd ..
meson
- mkdir spice-protocol/build
- (cd spice-protocol/build && mingw64-meson --werror)
- ninja -C spice-protocol/build install
- NOCONFIGURE=yes ./autogen.sh
- mingw64-configure --disable-celt051
- mingw64-make
- mingw64-make LOG_COMPILE=wine -C server check || (cat server/tests/test-suite.log && exit 1)
websocket-autobahn:
before_script:
- apt-get update || true
- apt-get install -y python-six python-pyparsing libopus-dev libssl-dev libglib2.0-dev
- git clone ${CI_REPOSITORY_URL/spice.git/spice-protocol.git}
- (cd spice-protocol && ./autogen.sh --prefix=/usr && make install)
image: crossbario/autobahn-testsuite
script:
- ./autogen.sh
- make -j4
- ./server/tests/test-websocket & pid=$!
- >
dnf install python2 python2-pip python2-devel python-unversioned-command
-y
- pip2 install autobahntestsuite
- wstest -a
- >
meson --buildtype=release build -Dcelt051=enabled || (cat build/meson-logs/meson-log.txt && exit 1)
- ninja -C build
- build/server/tests/test-websocket & pid=$!
- wstest -m fuzzingclient -s server/tests/fuzzingclient.json
- kill $pid
- server/tests/autobahn-check-report reports/servers/index.json
- rm -rf reports/servers
- ./server/tests/test-websocket -n & pid=$!
- build/server/tests/test-websocket -n & pid=$!
- wstest -m fuzzingclient -s server/tests/fuzzingclient.json
- kill $pid
- server/tests/autobahn-check-report reports/servers/index.json