.gitlab-ci.yml | 10 +++++----- .gitlab-ci/config.yml | 2 ++ .gitlab-ci/other.yml | 14 +++++++++++++- 3 files changed, 20 insertions(+), 6 deletions(-) New commits: commit 00a779b4214cd5c83125e3957d8160eecdbe0602 Merge: 3bb79f0 dccab5f Author: Akira TAGOH <akira@xxxxxxxxx> Date: Wed Nov 27 07:48:30 2024 +0000 Merge branch 'addRustToCi' into 'main' Allow building Rust targets in CI Closes #435 See merge request fontconfig/fontconfig!348 commit dccab5f68434c700e1506e50c3c2d88ec628b02b Author: Dominik Röttsches <drott@xxxxxxxxxxxx> Date: Fri Nov 22 15:43:48 2024 +0200 Allow building Rust targets in CI On Windows, the GST image has Rust 1.82, on Mac it needs to be installed. Fixes #435. diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 571e863..ed7bbdc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -41,8 +41,8 @@ variables: # changing these will force rebuilding the associated image # Note: these tags have no meaning and are not tied to a particular # fontconfig version - FEDORA_TAG: '2024-11-13.2-c29fad965005' - FREEBSD_TAG: '2024-11-13.2-bfcb7e03a785' + FEDORA_TAG: '2024-11-13.2-18d71ad2cf03' + FREEBSD_TAG: '2024-11-13.2-c197d92cb6b7' FEDORA_EXEC: 'bash .gitlab-ci/fedora-install.sh' FREEBSD_EXEC: 'bash .gitlab-ci/freebsd-install.sh' @@ -96,7 +96,7 @@ fedora:rawhide@container-prep: variables: GIT_STRATEGY: none FDO_DISTRIBUTION_VERSION: 'rawhide' - FDO_DISTRIBUTION_PACKAGES: '@buildsys-build autoconf automake libtool gettext gettext-devel gperf expat-devel libxml2-devel freetype-devel json-c-devel git docbook-utils docbook-utils-pdf bubblewrap ninja-build wget python3-pip mingw64-expat mingw64-gcc mingw64-gettext mingw64-freetype mingw64-libxml2 wine' + FDO_DISTRIBUTION_PACKAGES: '@buildsys-build autoconf automake libtool gettext gettext-devel gperf expat-devel libxml2-devel freetype-devel json-c-devel git docbook-utils docbook-utils-pdf bubblewrap ninja-build wget python3-pip mingw64-expat mingw64-gcc mingw64-gettext mingw64-freetype mingw64-libxml2 wine rust cargo' FDO_DISTRIBUTION_TAG: $FEDORA_TAG FDO_DISTRIBUTION_EXEC: $FEDORA_EXEC @@ -106,7 +106,7 @@ fedora:41@container-prep: variables: GIT_STRATEGY: none FDO_DISTRIBUTION_VERSION: '41' - FDO_DISTRIBUTION_PACKAGES: '@buildsys-build autoconf automake libtool gettext gettext-devel gperf expat-devel libxml2-devel freetype-devel json-c-devel git docbook-utils docbook-utils-pdf bubblewrap ninja-build wget python3-pip mingw64-expat mingw64-gcc mingw64-gettext mingw64-freetype mingw64-libxml2 wine' + FDO_DISTRIBUTION_PACKAGES: '@buildsys-build autoconf automake libtool gettext gettext-devel gperf expat-devel libxml2-devel freetype-devel json-c-devel git docbook-utils docbook-utils-pdf bubblewrap ninja-build wget python3-pip mingw64-expat mingw64-gcc mingw64-gettext mingw64-freetype mingw64-libxml2 wine rust cargo' FDO_DISTRIBUTION_TAG: $FEDORA_TAG FDO_DISTRIBUTION_EXEC: $FEDORA_EXEC @@ -116,7 +116,7 @@ fedora:40@container-prep: variables: GIT_STRATEGY: none FDO_DISTRIBUTION_VERSION: '40' - FDO_DISTRIBUTION_PACKAGES: '@buildsys-build autoconf automake libtool gettext gettext-devel gperf expat-devel libxml2-devel freetype-devel json-c-devel git docbook-utils docbook-utils-pdf bubblewrap ninja-build wget python3-pip mingw64-expat mingw64-gcc mingw64-gettext mingw64-freetype mingw64-libxml2 wine' + FDO_DISTRIBUTION_PACKAGES: '@buildsys-build autoconf automake libtool gettext gettext-devel gperf expat-devel libxml2-devel freetype-devel json-c-devel git docbook-utils docbook-utils-pdf bubblewrap ninja-build wget python3-pip mingw64-expat mingw64-gcc mingw64-gettext mingw64-freetype mingw64-libxml2 wine rust cargo' FDO_DISTRIBUTION_TAG: $FEDORA_TAG FDO_DISTRIBUTION_EXEC: $FEDORA_EXEC diff --git a/.gitlab-ci/config.yml b/.gitlab-ci/config.yml index 76e2d5d..47a0283 100644 --- a/.gitlab-ci/config.yml +++ b/.gitlab-ci/config.yml @@ -134,6 +134,8 @@ packages: "mingw64-freetype", "mingw64-libxml2", "wine", + "rust", + "cargo", ] freebsd: needed: diff --git a/.gitlab-ci/other.yml b/.gitlab-ci/other.yml index a4f77ec..074146b 100644 --- a/.gitlab-ci/other.yml +++ b/.gitlab-ci/other.yml @@ -19,7 +19,11 @@ # -Dbar=disabled before_script: # Make sure meson is up to date, so we don't need to rebuild the image with each release - - pip3 install -U meson certifi + - pip3 install -U meson certifi tomli requests + # Test Rust availability. As of 11/25/2024, according to + # https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/ci/docker/windows/Dockerfile + # Rust 1.82 is already installed. + - rustc --version script: # For some reason, options are separated by newline instead of space, so we # have to replace them first. @@ -68,10 +72,18 @@ meson macos: - pip3 install --upgrade pip # Make sure meson is up to date - pip3 install -U meson + # For Python < 3.11 we need tomli for Rust build support + - pip3 install -U tomli # Need to install certificates for python - pip3 install --upgrade certifi # Get ninja - pip3 install --upgrade ninja + # Install rust + - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y + - . "$HOME/.cargo/env" + # Test Rust availability. + - rustup update + - rustc --version script: - CERT_PATH=$(python3 -m certifi) && export SSL_CERT_FILE=${CERT_PATH} && export REQUESTS_CA_BUNDLE=${CERT_PATH} && meson setup -Diconv=enabled build - meson compile --verbose -C build