diff options
author | Frediano Ziglio <fziglio@redhat.com> | 2020-03-12 19:10:06 +0000 |
---|---|---|
committer | Frediano Ziglio <fziglio@redhat.com> | 2020-03-17 16:01:19 +0000 |
commit | c6a0844422d967d91c43d9cbd833e493883d71de (patch) | |
tree | db63a8cfefb9abc87ce233724e9741c92080db74 /.gitlab-ci.yml | |
parent | b196e9e78ddfe28f8413f96aa448ff2b77dce6a0 (diff) |
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>
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 69 |
1 files changed, 39 insertions, 30 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fd110c78..827a3545 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -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 |