gitlab-ci: Add meson build support

This commit is contained in:
Dylan Baker 2019-11-14 14:26:24 -08:00
parent e10e423c3c
commit bc908ed8dd
3 changed files with 81 additions and 1 deletions

View File

@ -1,7 +1,7 @@
# vim: set expandtab shiftwidth=2 tabstop=2 textwidth=0:
variables:
UBUNTU_TAG: "2019-12-03-01"
UBUNTU_TAG: "2019-12-05-01"
UBUNTU_VERSION: "18.04"
UBUNTU_CONTAINER_IMAGE: "$CI_REGISTRY_IMAGE/ubuntu/$UBUNTU_VERSION:$UBUNTU_TAG"
UBUNTU_EXEC: "bash .gitlab-ci/ubuntu_install.sh"
@ -52,33 +52,72 @@ build-distcheck:
script:
- bash .gitlab-ci/run_build.sh
.build-check-meson:
extends:
- .build-check
script:
- bash .gitlab-ci/run_meson.sh
artifacts:
when: always
paths:
- build/meson-logs/*.txt
build-i386:
extends:
- .build-check-at
variables:
CONFIGURE_OPTIONS: --build=i686-pc-linux-gnu CFLAGS=-m32
build-i386-meson:
extends:
- .build-check-meson
variables:
CONFIGURE_OPTIONS: --cross-file .gitlab-ci/i686-linux-gnu
build-x86-64-tsd:
extends:
- .build-check-at
variables:
CONFIGURE_OPTIONS: --disable-tls
build-x86_64-tsd-meson:
extends:
- .build-check-meson
variables:
CONFIGURE_OPTIONS: -Dtls=disabled
build-i386-tsd:
extends:
- .build-check-at
variables:
CONFIGURE_OPTIONS: --build=i686-pc-linux-gnu CFLAGS=-m32 --disable-tls
build-i386-tsd-meson:
extends:
- .build-check-meson
variables:
CONFIGURE_OPTIONS: -Dtls=disabled --cross-file .gitlab-ci/i686-linux-gnu
build-pure-c-tls:
extends:
- .build-check-at
variables:
CONFIGURE_OPTIONS: --disable-asm
build-pure-c-tls-meson:
extends:
- .build-check-meson
variables:
CONFIGURE_OPTIONS: -Dasm=disabled
build-pure-c-tsd:
extends:
- .build-check-at
variables:
CONFIGURE_OPTIONS: --disable-asm --disable-tls
build-pure-c-tld-meson:
extends:
- .build-check-meson
variables:
CONFIGURE_OPTIONS: -Dasm=disabled -Dtls=disabled

19
.gitlab-ci/i686-linux-gnu Normal file
View File

@ -0,0 +1,19 @@
[binaries]
c = '/usr/bin/gcc'
cpp = '/usr/bin/g++'
ar = '/usr/bin/ar'
strip = '/usr/bin/strip'
pkgconfig = '/usr/bin/i686-linux-gnu-pkg-config'
[properties]
c_args = ['-m32']
c_link_args = ['-m32']
cpp_args = ['-m32']
cpp_link_args = ['-m32']
needs_exe_wrapper = false
[host_machine]
system = 'linux'
cpu_family = 'x86'
cpu = 'i686'
endian = 'little'

22
.gitlab-ci/run_meson.sh Normal file
View File

@ -0,0 +1,22 @@
#!/bin/bash
set -e
set -o xtrace
# Running a unity build (sometimes called a jumbo build) is both a useful thing
# to test and reduces compile time.
#
# Enable all auto-features to ensure that we're proprely testing all optional
# dependencies.
meson build --unity=on --auto-features=enabled $CONFIGURE_OPTIONS
ninja -C build
Xvfb :99 &
set +e
DISPLAY=:99 ninja -C build test
RESULT=$?
set -e
kill %Xvfb
exit $RESULT