157 lines
5.0 KiB
YAML
157 lines
5.0 KiB
YAML
# 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"
|