ci: Use a docker image for builds and tests
Avoid repeating the machine updates and deps installation at every stage, just reuse the docker image Registered images are at: https://gitlab.freedesktop.org/libfprint/libfprint/container_registry
This commit is contained in:
parent
ae285e790d
commit
98cd1c2680
2 changed files with 37 additions and 10 deletions
|
@ -1,4 +1,4 @@
|
||||||
image: fedora:rawhide
|
image: registry.freedesktop.org/libfprint/libfprint/master:v1
|
||||||
stages:
|
stages:
|
||||||
- check-source
|
- check-source
|
||||||
- build
|
- build
|
||||||
|
@ -6,15 +6,11 @@ stages:
|
||||||
- flatpack
|
- flatpack
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
DEPENDENCIES: libgusb-devel glib2-devel nss-devel pixman-devel systemd meson gtk-doc
|
|
||||||
gcc gcc-c++ glibc-devel libX11-devel libXv-devel gtk3-devel flatpak-builder
|
|
||||||
gobject-introspection-devel python3-cairo python3-gobject umockdev
|
|
||||||
BUNDLE: "org.freedesktop.libfprint.Demo.flatpak"
|
BUNDLE: "org.freedesktop.libfprint.Demo.flatpak"
|
||||||
LAST_ABI_BREAK: "056ea541ddc97f5806cffbd99a12dc87e4da3546"
|
LAST_ABI_BREAK: "056ea541ddc97f5806cffbd99a12dc87e4da3546"
|
||||||
|
|
||||||
.build_one_driver_template: &build_one_driver
|
.build_one_driver_template: &build_one_driver
|
||||||
script:
|
script:
|
||||||
- dnf update -y --nogpgcheck && dnf install -y --nogpgcheck $DEPENDENCIES
|
|
||||||
# Build with a driver that doesn't need imaging, or nss
|
# Build with a driver that doesn't need imaging, or nss
|
||||||
- meson -Ddrivers=$driver . _build
|
- meson -Ddrivers=$driver . _build
|
||||||
- ninja -C _build
|
- ninja -C _build
|
||||||
|
@ -22,7 +18,6 @@ variables:
|
||||||
|
|
||||||
.build_template: &build
|
.build_template: &build
|
||||||
script:
|
script:
|
||||||
- dnf update -y --nogpgcheck && dnf install -y --nogpgcheck $DEPENDENCIES
|
|
||||||
# And build with everything
|
# And build with everything
|
||||||
- meson -Ddrivers=all . _build
|
- meson -Ddrivers=all . _build
|
||||||
- ninja -C _build
|
- ninja -C _build
|
||||||
|
@ -30,7 +25,6 @@ variables:
|
||||||
|
|
||||||
.build_template: &check_abi
|
.build_template: &check_abi
|
||||||
script:
|
script:
|
||||||
- dnf update -y --nogpgcheck && dnf install -y --nogpgcheck $DEPENDENCIES doxygen libabigail git
|
|
||||||
- ./.ci/check-abi ${LAST_ABI_BREAK} $(git rev-parse HEAD)
|
- ./.ci/check-abi ${LAST_ABI_BREAK} $(git rev-parse HEAD)
|
||||||
|
|
||||||
build:
|
build:
|
||||||
|
@ -44,7 +38,6 @@ build:
|
||||||
test:
|
test:
|
||||||
stage: test
|
stage: test
|
||||||
script:
|
script:
|
||||||
- dnf update -y --nogpgcheck && dnf install -y --nogpgcheck $DEPENDENCIES
|
|
||||||
- meson -Ddrivers=all . _build
|
- meson -Ddrivers=all . _build
|
||||||
- ninja -C _build
|
- ninja -C _build
|
||||||
- meson test -C _build --verbose --no-stdsplit
|
- meson test -C _build --verbose --no-stdsplit
|
||||||
|
@ -52,7 +45,6 @@ test:
|
||||||
test_valgrind:
|
test_valgrind:
|
||||||
stage: test
|
stage: test
|
||||||
script:
|
script:
|
||||||
- dnf update -y --nogpgcheck && dnf install -y --nogpgcheck $DEPENDENCIES valgrind
|
|
||||||
- meson -Ddrivers=all . _build
|
- meson -Ddrivers=all . _build
|
||||||
- ninja -C _build
|
- ninja -C _build
|
||||||
- meson test -C _build --verbose --no-stdsplit --setup=valgrind
|
- meson test -C _build --verbose --no-stdsplit --setup=valgrind
|
||||||
|
@ -60,7 +52,6 @@ test_valgrind:
|
||||||
test_indent:
|
test_indent:
|
||||||
stage: check-source
|
stage: check-source
|
||||||
script:
|
script:
|
||||||
- dnf update -y --nogpgcheck && dnf install -y --nogpgcheck git uncrustify
|
|
||||||
- scripts/uncrustify.sh --check
|
- scripts/uncrustify.sh --check
|
||||||
|
|
||||||
.flatpak_script_template: &flatpak_script
|
.flatpak_script_template: &flatpak_script
|
||||||
|
|
36
.gitlab-ci/Dockerfile
Normal file
36
.gitlab-ci/Dockerfile
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
# Rebuild and push with
|
||||||
|
#
|
||||||
|
# cd .gitlab-ci/
|
||||||
|
# docker build --no-cache -t registry.freedesktop.org/libfprint/libfprint/master:v1 .
|
||||||
|
# docker push registry.freedesktop.org/libfprint/libfprint/master:v1
|
||||||
|
#
|
||||||
|
|
||||||
|
FROM fedora:rawhide
|
||||||
|
|
||||||
|
RUN dnf -y update && dnf -y upgrade && \
|
||||||
|
dnf -y install \
|
||||||
|
doxygen \
|
||||||
|
flatpak-builder \
|
||||||
|
gcc \
|
||||||
|
gcc-c++ \
|
||||||
|
git \
|
||||||
|
glib2-devel \
|
||||||
|
glibc-devel \
|
||||||
|
gobject-introspection-devel \
|
||||||
|
gtk-doc \
|
||||||
|
gtk3-devel \
|
||||||
|
libabigail \
|
||||||
|
libgusb-devel \
|
||||||
|
libX11-devel \
|
||||||
|
libXv-devel \
|
||||||
|
meson \
|
||||||
|
nss-devel \
|
||||||
|
pixman-devel \
|
||||||
|
python3-cairo \
|
||||||
|
python3-gobject \
|
||||||
|
systemd \
|
||||||
|
umockdev \
|
||||||
|
uncrustify \
|
||||||
|
valgrind \
|
||||||
|
&& \
|
||||||
|
dnf clean all
|
Loading…
Reference in a new issue