diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3d3e12ece..8d948f5fc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -624,6 +624,27 @@ test-mutter-coverity: paths: - coverity +distinfo: + extends: + - .fdo.distribution-image@fedora + - .mutter.fedora@x86_64 + - .build-mutter-base + - .test-setup + stage: deploy + needs: + - job: build-fedora-container@x86_64 + artifacts: false + script: + - meson setup . build + - .gitlab-ci/export-artifact-path build > dist.env + artifacts: + reports: + dotenv: dist.env + paths: + - dist.env + rules: + - if: '$CI_COMMIT_TAG' + dist-mutter: extends: - .fdo.distribution-image@fedora @@ -663,10 +684,12 @@ dist-mutter: dist-mutter-tarball: extends: dist-mutter + needs: + - distinfo artifacts: expose_as: 'Get tarball here' paths: - - build/meson-dist/$CI_PROJECT_NAME-$CI_COMMIT_TAG.tar.xz + - $TARBALL_ARTIFACT_PATH rules: - if: '$CI_COMMIT_TAG' diff --git a/.gitlab-ci/export-artifact-path b/.gitlab-ci/export-artifact-path new file mode 100755 index 000000000..f9a7534fd --- /dev/null +++ b/.gitlab-ci/export-artifact-path @@ -0,0 +1,21 @@ +#!/usr/bin/gjs -m +// SPDX-FileCopyrightText: 2024 Florian Müllner +// +// SPDX-License-Identifier: GPL-2.0-or-later + +import Gio from 'gi://Gio'; +import {programArgs, programInvocationName, exit} from 'system'; + +const [buildDir] = programArgs; +if (!buildDir) { + printerr(`usage: ${programInvocationName} `); + exit(1); +} + +const subprocess = Gio.Subprocess.new( + ['meson', 'introspect', '--projectinfo', buildDir], + Gio.SubprocessFlags.STDOUT_PIPE); +const [, out] = subprocess.communicate_utf8(null, null); + +const {descriptive_name, version} = JSON.parse(out); +print(`TARBALL_ARTIFACT_PATH=${buildDir}/meson-dist/${descriptive_name}-${version}.tar.xz`);