# The following includes are for the CI templates that are used as a # base to construct our container images. They need to be updated periodically, but # not frequently, by pointing them to a more recent commit. include: - remote: "https://gitlab.gnome.org/Infrastructure/freedesktop-ci-templates/-/raw/a4eb2bbf65c482f024cae7ee178b8fe0cfef0537/templates/opensuse.yml" - remote: "https://gitlab.freedesktop.org/alatiera/ci-templates/-/raw/104fbc7115a99a450ba926d2a96208457d77cac0/templates/gnomeos.yml" # IMPORTANT: See # https://gnome.pages.gitlab.gnome.org/librsvg/devel-docs/ci.html#container-image-version variables: BASE_TAG: "2026-03-27.2-main" RUST_STABLE: "1.92.0" RUST_MINIMUM: "1.92.0" RUST_NIGHTLY: "nightly" RUSTUP_VERSION: "1.28.0" GNOMEOS_STABLE: "core-50" # This bunch of packages are the system's C/C++ compilers, and the indirect dependencies needed # to build librsvg's direct dependencies. E.g. we must build cairo from a git tag, but we don't # care about libpng too much and so use it as a system library. .container.opensuse@common: stage: "container-build" before_script: - source ./ci/env.sh variables: FDO_DISTRIBUTION_VERSION: "tumbleweed" FDO_UPSTREAM_REPO: "gnome/librsvg" FDO_DISTRIBUTION_PACKAGES: >- autoconf automake bison clang clang-tools curl dav1d-devel diffutils findutils flex gawk gcc gcc-c++ gdb gettext gettext-tools git gobject-introspection-devel google-roboto-fonts gperf itstool libbrotli-devel libbz2-devel libexpat-devel libffi-devel libjson-c-devel libpng-devel libstdc++-devel libtool libuuid-devel make meson openssl-devel pcre2-devel python3-pip python3-devel shadow shared-mime-info ShellCheck system-group-wheel vala wget xz zlib-devel .container.opensuse@x86_64.stable: extends: .container.opensuse@common variables: FDO_DISTRIBUTION_TAG: "x86_64-${RUST_STABLE}-${BASE_TAG}" FDO_DISTRIBUTION_EXEC: >- bash ci/install-python-tools.sh && bash ci/install-rust.sh --rustup-version ${RUSTUP_VERSION} \ --stable ${RUST_STABLE} \ --minimum ${RUST_MINIMUM} \ --nightly ${RUST_NIGHTLY} \ --arch x86_64-unknown-linux-gnu && bash ci/install-cargo-cbuild.sh && bash ci/install-rust-linters.sh && bash ci/install-grcov.sh && mkdir -p /usr/local/librsvg && bash ci/build-dependencies.sh --prefix /usr/local/librsvg --meson-flags "--buildtype=release" && rm -rf /root/.cargo /root/.cache # cleanup compilation dirs; binaries are installed now .container.opensuse@aarch64: extends: .container.opensuse@common variables: FDO_DISTRIBUTION_TAG: "aarch64-${RUST_STABLE}-${BASE_TAG}" FDO_DISTRIBUTION_EXEC: >- bash ci/install-rust.sh --rustup-version ${RUSTUP_VERSION} \ --stable ${RUST_STABLE} \ --arch aarch64-unknown-linux-gnu && mkdir -p /usr/local/librsvg && bash ci/build-dependencies.sh --prefix /usr/local/librsvg --meson-flags "--buildtype=release" && rm -rf /root/.cargo /root/.cache # cleanup compilation dirs; binaries are installed now tags: - aarch64 opensuse-container@x86_64.stable: extends: - .fdo.container-build@opensuse@x86_64 - .container.opensuse@x86_64.stable stage: "container-build" opensuse-container@aarch64: extends: - .fdo.container-build@opensuse@aarch64 - .container.opensuse@aarch64 stage: "container-build" .container.gnomeos@common: stage: "container-build" before_script: - cat /etc/os-release - source ./ci/env.sh variables: RUST_VERSION: "${RUST_STABLE}" FDO_UPSTREAM_REPO: "gnome/librsvg" FDO_DISTRIBUTION_EXEC: >- bash ci/install-python-tools.sh && bash ci/install-rust.sh --rustup-version ${RUSTUP_VERSION} \ --stable ${RUST_STABLE} \ --arch x86_64-unknown-linux-gnu && bash ci/install-cargo-cbuild.sh && rm -rf /root/.cargo /root/.cache # cleanup compilation dirs; binaries are installed now .container.gnomeos.nightly@x86_64: extends: .container.gnomeos@common variables: FDO_DISTRIBUTION_TAG: "x86_64-${RUST_STABLE}-${BASE_TAG}" FDO_DISTRIBUTION_VERSION: "core-nightly" .container.gnomeos.stable@x86_64: extends: .container.gnomeos@common variables: FDO_DISTRIBUTION_TAG: "x86_64-${RUST_STABLE}-${BASE_TAG}" FDO_DISTRIBUTION_VERSION: "$GNOMEOS_STABLE" gnomeos-container.nightly@x86_64: extends: - .fdo.container-build@gnomeos@x86_64 - .container.gnomeos.nightly@x86_64 stage: "container-build" gnomeos-container.stable@x86_64: extends: - .fdo.container-build@gnomeos@x86_64 - .container.gnomeos.stable@x86_64 stage: "container-build"