ci: Use meson introspect to generate artifact path

We currently assume that the `CI_COMMIT_TAG` variable matches the
version component of the generated dist tarball.

That is usually correct, but sometimes errors happen and a wrong
tag is pushed, and the real release uses something like "46.0-real".

Account for that by building the artifact path from `meson introspect`
and exporting it as environment variable.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3340>
This commit is contained in:
Florian Müllner 2024-05-24 00:07:11 +02:00 committed by Marge Bot
parent e6618d093d
commit 27445a1c98
2 changed files with 43 additions and 2 deletions

View file

@ -264,6 +264,23 @@ flatpak:
nightly:
extends: '.publish_nightly'
distinfo:
stage: deploy
needs:
- build
script:
- .gitlab-ci/export-artifact-path build > dist.env
artifacts:
reports:
dotenv: dist.env
paths:
- build
- mutter
- subprojects/jasmine-gjs
- dist.env
rules:
- if: '$CI_COMMIT_TAG'
dist:
variables:
XDG_RUNTIME_DIR: "$CI_PROJECT_DIR/runtime-dir"
@ -282,13 +299,16 @@ dist:
- "**/meson.build"
- meson/*
dist-tarball:
extends: dist
needs:
- distinfo
artifacts:
expose_as: 'Get tarball here'
paths:
- build/meson-dist/$CI_PROJECT_NAME-$CI_COMMIT_TAG.tar.xz
- $TARBALL_ARTIFACT_PATH
reports:
dotenv: dist.env
rules:
- if: '$CI_COMMIT_TAG'