summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml66
1 files changed, 62 insertions, 4 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ff45714..9d2af02 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,7 +4,7 @@
# Please see the ci-templates documentation for details:
# https://freedesktop.pages.freedesktop.org/ci-templates/
-.templates_sha: &template_sha 34f4ade99434043f88e164933f570301fd18b125 # see https://docs.gitlab.com/ee/ci/yaml/#includefile
+.templates_sha: &template_sha 185ede0e9b9b1924b92306ab8b882a6294e92613 # see https://docs.gitlab.com/ee/ci/yaml/#includefile
include:
@@ -29,8 +29,8 @@ variables:
# The tag should be updated each time the list of packages is updated.
# Changing a tag forces the associated image to be rebuilt.
# Note: the tag has no meaning, we use a date format purely for readability
- FDO_DISTRIBUTION_TAG: '2023-02-15.0'
- FDO_DISTRIBUTION_PACKAGES: 'git gcc pkgconf autoconf automake make xorg-util-macros xorg-font-util xorg-mkfontscale'
+ FDO_DISTRIBUTION_TAG: '2023-11-03.1'
+ FDO_DISTRIBUTION_PACKAGES: 'git gcc pkgconf autoconf automake make meson ninja jq xorg-util-macros xorg-font-util xorg-mkfontscale'
#
@@ -82,7 +82,7 @@ container-prep:
#
# The default build, runs on the image built above.
#
-build:
+autotools:
stage: build
extends:
- .fdo.distribution-image@arch
@@ -93,5 +93,63 @@ build:
- ../configure --disable-silent-rules
- make
- make check
+ - make install
- make distcheck
+ - mv encodings*.tar.gz ..
- popd > /dev/null
+ artifacts:
+ paths:
+ - encodings*.tar.gz
+
+meson:
+ extends:
+ - .fdo.distribution-image@arch
+ stage: build
+ script:
+ - mkdir -p ../_inst
+ - meson setup builddir --prefix="$PWD/../_inst"
+ - meson install -C builddir
+
+meson from tarball:
+ extends:
+ - .fdo.distribution-image@arch
+ stage: test
+ script:
+ - mkdir -p _tarball_build
+ - tar xf encodings-*.tar.gz -C _tarball_build
+ - pushd _tarball_build/encodings-*
+ - meson setup builddir
+ - meson install -C builddir
+ needs:
+ - autotools
+ variables:
+ GIT_STRATEGY: none
+
+compare meson and autotools:
+ extends:
+ - .fdo.distribution-image@arch
+ stage: test
+ script:
+ - mkdir -p $PWD/_meson_inst
+ - mkdir -p $PWD/_autotools_inst
+ # the prefix ends up in the pkgconfig files, so we use a symlink
+ # to use the same --prefix for meson and autotools
+ - ln -sf $PWD/_meson_inst $PWD/_inst
+ - meson setup builddir --prefix=$PWD/_inst
+ - meson install -C builddir
+ - rm $PWD/_inst
+ - ln -sf $PWD/_autotools_inst $PWD/_inst
+ - autoreconf -ivf
+ - ./configure --prefix=$PWD/_inst
+ - make && make install
+ - diff --brief --recursive $PWD/_meson_inst $PWD/_autotools_inst
+
+check versions are in sync:
+ extends:
+ - .fdo.distribution-image@arch
+ stage: test
+ script:
+ - autoreconf -ivf
+ - ./configure --version | head -n 1 | sed -e 's/encodings configure //' > autotools.version
+ - meson introspect meson.build --projectinfo | jq -r '.version' > meson.version
+ - diff -u autotools.version meson.version || (echo "ERROR - autotools and meson versions not in sync" && false)