Merge branch 'wip/pwithnall/release-infra-glib-2-82' into 'glib-2-82'

Backport !4432 and !4433 “ci: Add release component to automate tarball publishing” to glib-2-82

See merge request GNOME/glib!4434
This commit is contained in:
Emmanuele Bassi 2024-12-11 18:34:52 +00:00
commit 899caabcda

View File

@ -1,3 +1,9 @@
include:
- component: gitlab.gnome.org/GNOME/citemplates/release-service@master
inputs:
dist-job-name: "dist-job"
tarball-artifact-path: "${TARBALL_ARTIFACT_PATH}"
stages: stages:
- style-check - style-check
- build - build
@ -19,6 +25,8 @@ variables:
MESON_TEST_TIMEOUT_MULTIPLIER: 4 MESON_TEST_TIMEOUT_MULTIPLIER: 4
G_MESSAGES_DEBUG: all G_MESSAGES_DEBUG: all
MESON_COMMON_OPTIONS: "--buildtype debug --wrap-mode=nodownload --fatal-meson-warnings" MESON_COMMON_OPTIONS: "--buildtype debug --wrap-mode=nodownload --fatal-meson-warnings"
# expected naming scheme for the release-service job
TARBALL_ARTIFACT_PATH: "_build/meson-dist/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.tar.xz"
# Default CI job setup; contrast with `.only-origin`. # Default CI job setup; contrast with `.only-origin`.
# #
@ -840,25 +848,33 @@ pages:
- public - public
dist-job: dist-job:
image: $FEDORA_IMAGE extends:
- .build-linux
- .with-git
image: "${FEDORA_IMAGE}"
stage: build stage: build
needs: []
before_script:
- !reference [".build-linux", "before_script"]
- !reference [".with-git", "before_script"]
only: only:
- schedules
- tags - tags
script: script:
# Ignore extra git security checks as we don't care in CI. - meson setup ${MESON_COMMON_OPTIONS}
- git config --global --add safe.directory "${PWD}" --buildtype release
- git submodule update --init -Ddocumentation=true
- for m in $(git submodule foreach -q 'echo $path'); do git config --global --add safe.directory "${PWD}/${m}"; done -Dintrospection=enabled
- meson subprojects download -Dman-pages=enabled
- meson setup ${MESON_COMMON_OPTIONS} --buildtype release -Ddocumentation=true -Dman-pages=enabled _build _build
- meson dist -C _build - meson dist -C _build
# Compile again to build the docs # Compile again to build the docs
- meson compile -C _build - meson compile -C _build
- tar -c -J -f "glib-docs-$CI_COMMIT_TAG.tar.xz" -C _build/docs/reference/glib glib-2.0 - tar -c -J -f "_build/glib-docs-${CI_COMMIT_TAG}.tar.xz" -C _build/docs/reference/glib glib-2.0
- tar -c -J -f "gmodule-docs-$CI_COMMIT_TAG.tar.xz" -C _build/docs/reference/gmodule gmodule-2.0 - tar -c -J -f "_build/gmodule-docs-${CI_COMMIT_TAG}.tar.xz" -C _build/docs/reference/gmodule gmodule-2.0
- tar -c -J -f "gobject-docs-$CI_COMMIT_TAG.tar.xz" -C _build/docs/reference/gobject gobject-2.0 - tar -c -J -f "_build/gobject-docs-${CI_COMMIT_TAG}.tar.xz" -C _build/docs/reference/gobject gobject-2.0
- tar -c -J -f "gio-docs-$CI_COMMIT_TAG.tar.xz" -C _build/docs/reference/gio gio-2.0 - tar -c -J -f "_build/gio-docs-${CI_COMMIT_TAG}.tar.xz" -C _build/docs/reference/gio gio-2.0
- tar -c -J -f "girepository-docs-$CI_COMMIT_TAG.tar.xz" -C _build/docs/reference/girepository girepository-2.0 - tar -c -J -f "_build/girepository-docs-${CI_COMMIT_TAG}.tar.xz" -C _build/docs/reference/girepository girepository-2.0
artifacts: artifacts:
paths: paths:
- "${CI_PROJECT_DIR}/_build/glib-docs-$CI_COMMIT_TAG.tar.xz" - "${CI_PROJECT_DIR}/_build/glib-docs-$CI_COMMIT_TAG.tar.xz"