From 61b4b2b1af2c4589ab0a6ccdcd3f3e08f09b5f6d Mon Sep 17 00:00:00 2001 From: ArthurErlich Date: Mon, 21 Sep 2026 20:10:55 +0200 Subject: [PATCH] ci: link the published Composer package to this repository --- .gitea/workflows/release.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index d941600..952bcfc 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -21,8 +21,10 @@ jobs: run: | set -e VERSION=$(grep -m1 '"version"' composer.json | sed -E 's/.*"version"[[:space:]]*:[[:space:]]*"([^"]+)".*/\1/') + PACKAGE_NAME=$(grep -m1 '"name"' composer.json | sed -E 's/.*"name"[[:space:]]*:[[:space:]]*"([^"]+)".*/\1/') TAG="v${VERSION}" echo "version=${VERSION}" >> "$GITHUB_OUTPUT" + echo "package_name=${PACKAGE_NAME}" >> "$GITHUB_OUTPUT" echo "tag=${TAG}" >> "$GITHUB_OUTPUT" if git ls-remote --tags origin "refs/tags/${TAG}" | grep -q "${TAG}"; then echo "skip=true" >> "$GITHUB_OUTPUT" @@ -98,3 +100,13 @@ jobs: echo "Unexpected HTTP status $STATUS publishing to the Composer registry" exit 1 fi + + - name: Link Composer package to this repository + if: steps.version.outputs.skip == 'false' + run: | + ENCODED_NAME=$(printf '%s' "${{ steps.version.outputs.package_name }}" | sed 's#/#%2F#g') + STATUS=$(curl -s -o /dev/null -w "%{http_code}" -u "haylan:${{ secrets.RELEASE_TOKEN }}" -X POST "https://git.arthurerlich.de/api/v1/packages/haylan/composer/${ENCODED_NAME}/-/link/AeonDumpManager") + echo "link status: $STATUS" + if [ "$STATUS" != "201" ]; then + echo "::warning::Failed to link the Composer package to this repository (HTTP $STATUS) - not fatal, release already published" + fi