# This CI config uses FDO ci-templates: https://freedesktop.pages.freedesktop.org/ci-templates/ include: - remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/290b79e0e78eab67a83766f4e9691be554fc4afd/templates/ci-fairy.yml" - remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/290b79e0e78eab67a83766f4e9691be554fc4afd/templates/alpine.yml' - remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/290b79e0e78eab67a83766f4e9691be554fc4afd/templates/fedora.yml' - remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/290b79e0e78eab67a83766f4e9691be554fc4afd/templates/ubuntu.yml' variables: G_MESSAGES_DEBUG: "libmediaart" # This can be used when debugging test failures that only occur within GitLab CI. MESON_TEST_EXTRA_ARGS: "" stages: - prepare - test - docs - deploy .libmediaart.fedora@common: variables: BASE_TAG: '2021-05-22.1' FDO_UPSTREAM_REPO: GNOME/libmediaart FDO_DISTRIBUTION_PACKAGES: 'git gdk-pixbuf2-devel gtk-doc meson' FDO_DISTRIBUTION_EXEC: | dnf install -y 'dnf-command(builddep)' && dnf builddep -y libmediaart --setopt=install_weak_deps=False && dnf clean all .libmediaart.ubuntu@common: variables: BASE_TAG: '2021-05-22.1' FDO_UPSTREAM_REPO: GNOME/libmediaart FDO_DISTRIBUTION_PACKAGES: 'git libgdk-pixbuf-2.0-dev gtk-doc-tools meson' FDO_DISTRIBUTION_EXEC: | export DEBIAN_FRONTEND=noninteractive && sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list && apt-get -yq update && apt-get -yq upgrade && apt-get -yq build-dep libmediaart .libmediaart.alpine@common: variables: BASE_TAG: '2021-05-22.1' FDO_UPSTREAM_REPO: GNOME/libmediaart FDO_DISTRIBUTION_PACKAGES: 'alpine-sdk git glib-dev gtk-doc gobject-introspection-dev gdk-pixbuf-dev vala meson' .libmediaart.fedora:rawhide@x86_64: extends: .libmediaart.fedora@common variables: FDO_DISTRIBUTION_VERSION: rawhide FDO_DISTRIBUTION_TAG: "x86_64-${BASE_TAG}" .libmediaart.ubuntu:rolling@x86_64: extends: .libmediaart.ubuntu@common variables: FDO_DISTRIBUTION_VERSION: rolling FDO_DISTRIBUTION_TAG: "x86_64-${BASE_TAG}" .libmediaart.alpine:edge@x86_64: extends: .libmediaart.alpine@common variables: FDO_DISTRIBUTION_VERSION: edge FDO_DISTRIBUTION_TAG: "x86_64-${BASE_TAG}" build-fedora-container@x86_64: extends: - .fdo.container-build@fedora - .libmediaart.fedora:rawhide@x86_64 stage: prepare variables: GIT_STRATEGY: none needs: [] build-ubuntu-container@x86_64: extends: - .fdo.container-build@ubuntu - .libmediaart.ubuntu:rolling@x86_64 stage: prepare variables: GIT_STRATEGY: none needs: [] build-alpine-container@x86_64: extends: - .fdo.container-build@alpine - .libmediaart.alpine:edge@x86_64 stage: prepare variables: GIT_STRATEGY: none needs: [] .test_template: &test stage: test script: - meson setup _build . -Dgtk_doc=true - meson compile -C _build - | # Remove the many "CI_" variables from the environment. Meson dumps the # whole environment for every failed test, and that gives a whole # screenful of junk each time unless we strip these. unset $(env|grep -o '^CI_[^=]*') env meson test -C _build --print-errorlogs ${MESON_TEST_EXTRA_ARGS} after_script: - | echo "Distribution: " echo egrep '^NAME=|^VERSION=' /etc/os-release echo echo "Test suite settings:" echo echo "G_MESSAGES_DEBUG: ${G_MESSAGES_DEBUG}" echo "MESON_TEST_EXTRA_ARGS: ${MESON_TEST_EXTRA_ARGS}" echo echo "These values can be set at https://gitlab.gnome.org/GNOME/libmediaart/pipelines/new" artifacts: when: always paths: - build/meson-logs/testlog.txt test-alpine-edge: extends: - .fdo.distribution-image@alpine - .libmediaart.alpine:edge@x86_64 needs: - build-alpine-container@x86_64 <<: *test test-fedora-latest: extends: - .fdo.distribution-image@fedora - .libmediaart.fedora:rawhide@x86_64 needs: - build-fedora-container@x86_64 <<: *test test-ubuntu-rolling: extends: - .fdo.distribution-image@ubuntu - .libmediaart.ubuntu:rolling@x86_64 needs: - build-ubuntu-container@x86_64 <<: *test documentation: extends: - .fdo.distribution-image@fedora - .libmediaart.fedora:rawhide@x86_64 needs: - build-fedora-container@x86_64 stage: docs script: - meson setup _build . -Dgtk_doc=true - meson compile -C _build - mv _build/docs/html _reference artifacts: paths: - _reference pages: extends: - .fdo.distribution-image@fedora - .libmediaart.fedora:rawhide@x86_64 stage: deploy script: - mv _reference/ public/ artifacts: paths: - public needs: - documentation only: - master