gitlab CI: add an alpine image

Alpine uses musl, eudev and elogind, so it's useful to build on that to get
those covered.

Notably, ninja test is not run because the litest-selftest will fail for
tcase_add_exit_test() and tcase_add_test_raise_signal(). This may be due to
some missing bits in musl or check not using the feature test macros, etc.
Someone with time and motivation to have this actually work on musl can figure
that out.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Peter Hutterer 2019-10-15 16:03:46 +10:00
parent 6f3e51faf6
commit 9ed14e0667

View file

@ -24,9 +24,12 @@
# <distribution>:<version>@activity:
# e.g. fedora:29@build-default
.templates_sha: &template_sha ff90ddcf059bfce35bd5f9b89a59d5d0c912b458 # see https://docs.gitlab.com/ee/ci/yaml/#includefile
.templates_sha: &template_sha 5fa4c5aae3775014b99364efc65531037c2e7368 # see https://docs.gitlab.com/ee/ci/yaml/#includefile
include:
# Alpine container builder template
- project: 'wayland/ci-templates'
file: '/templates/alpine.yml'
# Arch container builder template
- project: 'wayland/ci-templates'
ref: *template_sha
@ -65,6 +68,7 @@ variables:
ARCH_PKGS: 'git gcc pkgconfig meson check libsystemd libevdev doxygen graphviz python-sphinx python-recommonmark python-sphinx_rtd_theme libwacom gtk3 mtdev diffutils'
FREEBSD_BUILD_PKGS: 'meson'
FREEBSD_PKGS: 'libepoll-shim libudev-devd libevdev libwacom gtk3 libmtdev '
ALPINE_PKGS: 'git gcc build-base pkgconfig meson check-dev eudev-dev libevdev-dev libwacom-dev cairo-dev gtk+3.0-dev mtdev-dev bash'
############################ end of package lists #############################
# these tags should be updated each time the list of packages is updated
@ -74,6 +78,7 @@ variables:
FEDORA_TAG: '2019-08-07.0'
UBUNTU_TAG: '2019-08-07.0'
ARCH_TAG: '2019-08-07.0'
ALPINE_TAG: '2019-10-15.5'
FREEBSD_TAG: '2019-08-07.0'
QEMU_TAG: 'qemu-vm-2019-10-04.0'
@ -84,6 +89,7 @@ variables:
FEDORA_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/fedora/$FEDORA_VERSION:$FEDORA_TAG
UBUNTU_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/ubuntu/$UBUNTU_VERSION:$UBUNTU_TAG
ARCH_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/archlinux/rolling:$ARCH_TAG
ALPINE_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/alpine/latest:$ALPINE_TAG
FREEBSD_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/freebsd/11.2:$FREEBSD_TAG
QEMU_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/fedora/$FEDORA_VERSION:$QEMU_TAG
@ -216,6 +222,17 @@ arch:rolling@container-prep:
TAG: $ARCH_TAG
<<: *pull_upstream_or_rebuild
alpine:latest@container-prep:
extends: .alpine@container-build
stage: container_prep
variables:
GIT_STRATEGY: none
ALPINE_VERSION: latest
DISTRIB_FLAVOR: alpine
DISTRIB_VERSION: $ALPINE_VERSION
TAG: $ALPINE_TAG
<<: *pull_upstream_or_rebuild
.freebsd@container-prep:
stage: container_prep
image: $BUILDAH_IMAGE
@ -361,6 +378,12 @@ arch:rolling@container-clean:
GIT_STRATEGY: none
CURRENT_CONTAINER_IMAGE: $ARCH_CONTAINER_IMAGE
alpine:latest@container-clean:
extends: .container-clean
variables:
GIT_STRATEGY: none
CURRENT_CONTAINER_IMAGE: $ALPINE_CONTAINER_IMAGE
freebsd:11.2@container-clean:
extends: .container-clean
variables:
@ -621,6 +644,26 @@ arch:rolling@default-build:
extends: .arch@template
needs: ['arch:rolling@container-prep']
#
# Alpine
#
.alpine@template:
stage: distro
extends: .build@template
image: $ALPINE_CONTAINER_IMAGE
alpine:latest@default-build:
extends: .alpine@template
needs: ['alpine:latest@container-prep']
variables:
# alpine doesn't have python-recommonmark
MESON_ARGS: '-Ddocumentation=false'
# We don't run the tests on alpine. The litest-selftest fails
# for any tcase_add_exit_test/tcase_add_test_raise_signal
# but someone more invested in musl will have to figure that out.
MESON_TEST_ARGS: ''
#
# FreeBSD
#