ci: Add a static build on Linux

There are people building Cairo as a static library, so we should verify
that we are not breaking their builds.
This commit is contained in:
Emmanuele Bassi 2023-08-24 15:04:13 +01:00
parent 7645586223
commit 3a76936d66

View file

@ -98,11 +98,56 @@ fedora image:
fonttools
util-linux
.build fedora:
extends:
- '.fdo.distribution-image@fedora'
- '.ccache_setup'
stage: 'build'
variables:
MESON_ARGS: >
${DEFAULT_MESON_ARGS}
${EXTRA_MESON_ARGS}
script:
- export CFLAGS="-Werror -Wno-error=deprecated-declarations"
- meson setup ${MESON_ARGS} builddir
- meson compile -C builddir
# Run test scripts
- mkdir builddir/src/.libs
- touch builddir/src/.libs/libfoo.so
# Run all the tests, except for the big test executable which
# gets run separately
- meson test -C builddir --no-suite=slow --print-errorlogs
# TODO: These aren't set up as Meson tests yet
- (cd doc/public && bash "check-doc-syntax.sh")
# FIXME: The following line really needs gtk-doc to run first
- (cd doc/public && DOC_MODULE=cairo bash "check-doc-coverage.sh")
- meson install -C builddir
artifacts:
expire_in: "7 days"
when: "always"
paths:
- "*"
fedora build shared:
extends:
- '.build fedora'
variables:
EXTRA_MESON_ARGS: '--default-library=shared'
fedora build static:
extends:
- '.build fedora'
variables:
EXTRA_MESON_ARGS: '--default-library=static'
.test fedora:
dependencies:
- 'fedora build'
- 'fedora build shared'
needs:
- 'fedora build'
- 'fedora build shared'
extends:
- '.fdo.distribution-image@fedora'
- '.ccache_setup'
@ -221,38 +266,6 @@ test fedora xlib:
- export srcdir=../../test
- (cd builddir/test && xvfb-run ./cairo-test-suite)
fedora build:
extends:
- '.fdo.distribution-image@fedora'
- '.ccache_setup'
stage: 'build'
variables:
MESON_ARGS: >
${DEFAULT_MESON_ARGS}
script:
- export CFLAGS="-Werror -Wno-error=deprecated-declarations"
- meson builddir ${MESON_ARGS}
- ninja -C builddir
# Run test scripts
- mkdir builddir/src/.libs
- touch builddir/src/.libs/libfoo.so
# Run all the tests, except for the big test executable which
# gets run separately
- meson test -C builddir --no-suite=slow --print-errorlogs
# TODO: These aren't set up as Meson tests yet
- (cd doc/public && bash "check-doc-syntax.sh")
# FIXME: The following line really needs gtk-doc to run first
- (cd doc/public && DOC_MODULE=cairo bash "check-doc-coverage.sh")
- ninja -C builddir install
artifacts:
expire_in: "7 days"
when: "always"
paths:
- "*"
mingw-32 build:
extends:
- '.fdo.distribution-image@fedora'