fontconfig: Branch 'main' - 2 commits
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Mar 11 13:15:32 UTC 2025
.gitlab-ci.yml | 81 ++++++++++++++++++++++++++++++++++++++++---
.gitlab-ci/ci.template | 37 +++++++++++++++++++
.gitlab-ci/config.yml | 4 +-
.gitlab-ci/fedora-install.sh | 12 ++++++
4 files changed, 128 insertions(+), 6 deletions(-)
New commits:
commit 59e53da82d471c20ba5e43b6aac07a9273303d50
Merge: 25f58a5 78235c0
Author: Akira TAGOH <akira at tagoh.org>
Date: Tue Mar 11 13:15:26 2025 +0000
Merge branch 'ci-release' into 'main'
ci: Add a release workflow
See merge request fontconfig/fontconfig!366
commit 78235c01ef4bded37bd77c8a5f6e95fca87d56c7
Author: Akira TAGOH <akira at tagoh.org>
Date: Mon Mar 10 17:22:23 2025 +0900
ci: Add a release workflow
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 989e5f9..f6578e0 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -42,8 +42,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: '2025-02-17.3-c09ad6f8f869'
- FREEBSD_TAG: '2025-02-17.3-40e170f4e005'
+ FEDORA_TAG: '2025-03-10.1-788fd421ac5d'
+ FREEBSD_TAG: '2025-03-10.1-8c6b4797d3ca'
FEDORA_EXEC: 'bash .gitlab-ci/fedora-install.sh'
FREEBSD_EXEC: 'bash .gitlab-ci/freebsd-install.sh'
@@ -97,7 +97,7 @@ fedora:rawhide at container-prep:
variables:
GIT_STRATEGY: none
FDO_DISTRIBUTION_VERSION: 'rawhide'
- FDO_DISTRIBUTION_PACKAGES: '@buildsys-build autoconf automake clang-devel clang-tools-extra libtool gettext gettext-devel gperf expat-devel libxml2-devel freetype-devel json-c-devel git git-clang-format docbook-utils docbook-utils-pdf bubblewrap ninja-build wget python3-pip mingw64-expat mingw64-gcc mingw64-gettext mingw64-freetype mingw64-libxml2 rust cargo bindgen-cli'
+ FDO_DISTRIBUTION_PACKAGES: '@buildsys-build autoconf automake clang-devel clang-tools-extra curl libtool gettext gettext-devel gperf expat-devel libxml2-devel freetype-devel json-c-devel git git-clang-format docbook-utils docbook-utils-pdf bubblewrap ninja-build wget python3-pip mingw64-expat mingw64-gcc mingw64-gettext mingw64-freetype mingw64-libxml2 rust cargo bindgen-cli'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
FDO_DISTRIBUTION_EXEC: $FEDORA_EXEC
@@ -107,7 +107,7 @@ fedora:41 at container-prep:
variables:
GIT_STRATEGY: none
FDO_DISTRIBUTION_VERSION: '41'
- FDO_DISTRIBUTION_PACKAGES: '@buildsys-build autoconf automake clang-devel clang-tools-extra libtool gettext gettext-devel gperf expat-devel libxml2-devel freetype-devel json-c-devel git git-clang-format docbook-utils docbook-utils-pdf bubblewrap ninja-build wget python3-pip mingw64-expat mingw64-gcc mingw64-gettext mingw64-freetype mingw64-libxml2 rust cargo bindgen-cli'
+ FDO_DISTRIBUTION_PACKAGES: '@buildsys-build autoconf automake clang-devel clang-tools-extra curl libtool gettext gettext-devel gperf expat-devel libxml2-devel freetype-devel json-c-devel git git-clang-format docbook-utils docbook-utils-pdf bubblewrap ninja-build wget python3-pip mingw64-expat mingw64-gcc mingw64-gettext mingw64-freetype mingw64-libxml2 rust cargo bindgen-cli'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
FDO_DISTRIBUTION_EXEC: $FEDORA_EXEC
@@ -117,7 +117,7 @@ fedora:40 at container-prep:
variables:
GIT_STRATEGY: none
FDO_DISTRIBUTION_VERSION: '40'
- FDO_DISTRIBUTION_PACKAGES: '@buildsys-build autoconf automake clang-devel clang-tools-extra libtool gettext gettext-devel gperf expat-devel libxml2-devel freetype-devel json-c-devel git git-clang-format docbook-utils docbook-utils-pdf bubblewrap ninja-build wget python3-pip mingw64-expat mingw64-gcc mingw64-gettext mingw64-freetype mingw64-libxml2 rust cargo bindgen-cli'
+ FDO_DISTRIBUTION_PACKAGES: '@buildsys-build autoconf automake clang-devel clang-tools-extra curl libtool gettext gettext-devel gperf expat-devel libxml2-devel freetype-devel json-c-devel git git-clang-format docbook-utils docbook-utils-pdf bubblewrap ninja-build wget python3-pip mingw64-expat mingw64-gcc mingw64-gettext mingw64-freetype mingw64-libxml2 rust cargo bindgen-cli'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
FDO_DISTRIBUTION_EXEC: $FEDORA_EXEC
@@ -337,6 +337,18 @@ clang-format:
- build*/test/*log
- build*/fontconfig*/_build
- build*/meson-logs/*
+ - build*/meson-dist/*
+
+.upload:
+ rules:
+ - if: $CI_COMMIT_TAG
+ variables:
+ PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/fontconfig/${CI_COMMIT_TAG}"
+ script:
+ - |
+ for f in $(pwd)/build-fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-*/meson-dist/*; do
+ curl --location --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file $f ${PACKAGE_REGISTRY_URL}/$(basename $f)
+ done
#######################################
# #
@@ -361,6 +373,7 @@ t_fedora:rawhide:autotools shared expat:
- 'fedora:rawhide at container-prep'
+
t_fedora:rawhide:autotools shared libxml2:
extends:
- .build at template
@@ -378,6 +391,7 @@ t_fedora:rawhide:autotools shared libxml2:
- 'fedora:rawhide at container-prep'
+
t_fedora:rawhide:meson shared expat:
extends:
- .build at template
@@ -394,6 +408,7 @@ t_fedora:rawhide:meson shared expat:
- 'fedora:rawhide at container-prep'
+
t_fedora:rawhide:meson shared libxml2:
extends:
- .build at template
@@ -410,6 +425,16 @@ t_fedora:rawhide:meson shared libxml2:
needs:
- 'fedora:rawhide at container-prep'
+t_fedora:rawhide:meson shared libxml2:upload:
+ needs:
+ - t_fedora:rawhide:meson shared libxml2
+ extends:
+ - .fdo.distribution-image at fedora
+ - .upload
+ variables:
+ FDO_DISTRIBUTION_VERSION: 'rawhide'
+ FDO_DISTRIBUTION_TAG: $FEDORA_TAG
+
t_fedora:rawhide:autotools static expat:
extends:
@@ -427,6 +452,7 @@ t_fedora:rawhide:autotools static expat:
- 'fedora:rawhide at container-prep'
+
t_fedora:rawhide:autotools static libxml2:
extends:
- .build at template
@@ -443,6 +469,7 @@ t_fedora:rawhide:autotools static libxml2:
- 'fedora:rawhide at container-prep'
+
t_fedora:rawhide:meson static expat:
extends:
- .build at template
@@ -459,6 +486,7 @@ t_fedora:rawhide:meson static expat:
- 'fedora:rawhide at container-prep'
+
t_fedora:rawhide:meson static libxml2:
extends:
- .build at template
@@ -475,6 +503,7 @@ t_fedora:rawhide:meson static libxml2:
- 'fedora:rawhide at container-prep'
+
t_fedora:rawhide:mingw autotools static libxml2:
extends:
- .build at template
@@ -493,6 +522,7 @@ t_fedora:rawhide:mingw autotools static libxml2:
- 'fedora:rawhide at container-prep'
+
t_fedora:rawhide:mingw meson static expat:
extends:
- .build at template
@@ -512,6 +542,7 @@ t_fedora:rawhide:mingw meson static expat:
- 'fedora:rawhide at container-prep'
+
t_fedora:rawhide:meson static libxml2 fontations:
extends:
- .build at template
@@ -529,6 +560,7 @@ t_fedora:rawhide:meson static libxml2 fontations:
- 'fedora:rawhide at container-prep'
+
t_fedora:41:autotools shared expat:
extends:
- .build at template
@@ -545,6 +577,7 @@ t_fedora:41:autotools shared expat:
- 'fedora:41 at container-prep'
+
t_fedora:41:autotools shared libxml2:
extends:
- .build at template
@@ -562,6 +595,7 @@ t_fedora:41:autotools shared libxml2:
- 'fedora:41 at container-prep'
+
t_fedora:41:meson shared expat:
extends:
- .build at template
@@ -578,6 +612,7 @@ t_fedora:41:meson shared expat:
- 'fedora:41 at container-prep'
+
t_fedora:41:meson shared libxml2:
extends:
- .build at template
@@ -605,6 +640,14 @@ t_fedora:41:meson shared libxml2:
+
+
+
+
+
+
+
+
@@ -625,6 +668,7 @@ t_fedora:40:autotools shared expat:
- 'fedora:40 at container-prep'
+
t_fedora:40:autotools shared libxml2:
extends:
- .build at template
@@ -642,6 +686,7 @@ t_fedora:40:autotools shared libxml2:
- 'fedora:40 at container-prep'
+
t_fedora:40:meson shared expat:
extends:
- .build at template
@@ -658,6 +703,7 @@ t_fedora:40:meson shared expat:
- 'fedora:40 at container-prep'
+
t_fedora:40:meson shared libxml2:
extends:
- .build at template
@@ -685,6 +731,14 @@ t_fedora:40:meson shared libxml2:
+
+
+
+
+
+
+
+
@@ -707,6 +761,7 @@ t_freebsd:14.1:autotools shared expat:
- 'freebsd:14.1 at container-prep'
+
t_freebsd:14.1:autotools shared libxml2:
extends:
- .build-in-qemu at template
@@ -725,6 +780,7 @@ t_freebsd:14.1:autotools shared libxml2:
- 'freebsd:14.1 at container-prep'
+
t_freebsd:14.1:meson shared expat:
extends:
- .build-in-qemu at template
@@ -742,6 +798,7 @@ t_freebsd:14.1:meson shared expat:
- 'freebsd:14.1 at container-prep'
+
t_freebsd:14.1:meson shared libxml2:
extends:
- .build-in-qemu at template
@@ -759,6 +816,7 @@ t_freebsd:14.1:meson shared libxml2:
- 'freebsd:14.1 at container-prep'
+
#######################################
# #
# deploy stage #
@@ -795,8 +853,21 @@ pages:
rules:
- if: $CI_COMMIT_BRANCH == "main" && $CI_PIPELINE_SOURCE != "merge_request_event"
+make-release:
+ stage: deploy
+ image: registry.gitlab.com/gitlab-org/cli:latest
+ rules:
+ - if: $CI_COMMIT_TAG
+ variables:
+ PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/fontconfig/${CI_COMMIT_TAG}"
+ script:
+ - glab auth login -h ${CI_SERVER_HOST} -j ${CI_JOB_TOKEN}
+ - |
+ glab release create ${CI_COMMIT_TAG} --name "Release ${CI_COMMIT_TAG}" -a "[{\"name\": \"fontconfig-${CI_COMMIT_TAG}.tar.xz\", \"url\": \"${PACKAGE_REGISTRY_URL}/fontconfig-${CI_COMMIT_TAG}.tar.xz\"}, {\"name\": \"fontconfig-${CI_COMMIT_TAG}.tar.xz (sha256sum)\", \"url\": \"${PACKAGE_REGISTRY_URL}/fontconfig-${CI_COMMIT_TAG}.tar.xz.sha256sum\"}]"
+
workflow:
rules:
+ - if: $CI_COMMIT_TAG
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
- if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
when: never
diff --git a/.gitlab-ci/ci.template b/.gitlab-ci/ci.template
index b2eb0c5..e993695 100644
--- a/.gitlab-ci/ci.template
+++ b/.gitlab-ci/ci.template
@@ -299,6 +299,18 @@ clang-format:
- build*/test/*log
- build*/fontconfig*/_build
- build*/meson-logs/*
+ - build*/meson-dist/*
+
+.upload:
+ rules:
+ - if: $CI_COMMIT_TAG
+ variables:
+ PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/fontconfig/${CI_COMMIT_TAG}"
+ script:
+ - |
+ for f in $(pwd)/build-fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-*/meson-dist/*; do
+ curl --location --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file $f ${PACKAGE_REGISTRY_URL}/$(basename $f)
+ done
#######################################
# #
@@ -334,6 +346,18 @@ t_{{distro.name}}:{{version}}:{{build.name}}:
- '{{distro.name}}:{{version}}@container-prep'
{% endif %}
+{% if 'upload' in build and build.upload == version %}
+t_{{distro.name}}:{{version}}:{{build.name}}:upload:
+ needs:
+ - t_{{distro.name}}:{{version}}:{{build.name}}
+ extends:
+ - .fdo.distribution-image@{{distro.name}}
+ - .upload
+ variables:
+ FDO_DISTRIBUTION_VERSION: '{{version}}'
+ FDO_DISTRIBUTION_TAG: ${{distro.name.upper()}}_TAG
+{% endif %}
+
{% endfor %}
{% endfor %}
{% endfor %}
@@ -374,8 +398,21 @@ pages:
rules:
- if: $CI_COMMIT_BRANCH == "main" && $CI_PIPELINE_SOURCE != "merge_request_event"
+make-release:
+ stage: deploy
+ image: registry.gitlab.com/gitlab-org/cli:latest
+ rules:
+ - if: $CI_COMMIT_TAG
+ variables:
+ PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/fontconfig/${CI_COMMIT_TAG}"
+ script:
+ - glab auth login -h ${CI_SERVER_HOST} -j ${CI_JOB_TOKEN}
+ - |
+ glab release create ${CI_COMMIT_TAG} --name "Release ${CI_COMMIT_TAG}" -a "[{\"name\": \"fontconfig-${CI_COMMIT_TAG}.tar.xz\", \"url\": \"${PACKAGE_REGISTRY_URL}/fontconfig-${CI_COMMIT_TAG}.tar.xz\"}, {\"name\": \"fontconfig-${CI_COMMIT_TAG}.tar.xz (sha256sum)\", \"url\": \"${PACKAGE_REGISTRY_URL}/fontconfig-${CI_COMMIT_TAG}.tar.xz.sha256sum\"}]"
+
workflow:
rules:
+ - if: $CI_COMMIT_TAG
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
- if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
when: never
diff --git a/.gitlab-ci/config.yml b/.gitlab-ci/config.yml
index 13a6f11..f98bfbe 100644
--- a/.gitlab-ci/config.yml
+++ b/.gitlab-ci/config.yml
@@ -1,4 +1,4 @@
-.default_tag: &default_tag "2025-02-17.3"
+.default_tag: &default_tag "2025-03-10.1"
distributions:
- name: fedora
@@ -27,6 +27,7 @@ distributions:
FC_BUILD_TYPE: shared
FC_XML_BACKEND: expat
- name: "meson shared libxml2"
+ upload: 'rawhide'
variables:
FC_BUILDSYS: meson
FC_BUILD_TYPE: shared
@@ -123,6 +124,7 @@ packages:
"automake",
"clang-devel",
"clang-tools-extra",
+ "curl",
"libtool",
"gettext",
"gettext-devel",
diff --git a/.gitlab-ci/fedora-install.sh b/.gitlab-ci/fedora-install.sh
index 16c8d73..773ebfb 100644
--- a/.gitlab-ci/fedora-install.sh
+++ b/.gitlab-ci/fedora-install.sh
@@ -2,6 +2,18 @@
set -ex
+# Disable fedora-cisco-openh264 repo to avoid signature verification fail during
+# signature migration for new release.
+# We don't need it.
+dnf --version|grep dnf5 > /dev/null || ret=$?
+if [[ $ret -eq 0 ]]; then
+ dnf -y install dnf5-plugins
+ dnf -y config-manager setopt fedora-cisco-openh264.enabled=0
+else
+ dnf -y install dnf-plugins-core
+ dnf -y config-manager --set-disabled fedora-cisco-openh264
+fi
+
# workaround to avoid conflict between systemd and systemd-standalone-sysusers
dnf -y swap systemd-standalone-sysusers systemd
dnf -y install wine
More information about the Fontconfig
mailing list