From f2fd7d63767aaf3dee0a942570d7e23cd5d37c44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Fr=C3=B3es=20Franco?= Date: Thu, 14 May 2026 22:55:31 +0000 Subject: [PATCH] ci(release): pin upload/download-artifact to v3 for Gitea Actions actions/upload-artifact@v4 and download-artifact@v4 require the GitHub-hosted artifact backend, which Gitea Actions does not implement (GHESNotSupportedError on v2.0.0+). Downgrade to v3. v3's download-artifact has no merge-multiple flag and nests each artifact under artifacts//, so the upload loop now recurses to find the archives. Co-Authored-By: Claude Opus 4.7 (1M context) --- .gitea/workflows/release.yaml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml index d3ca39c..50f8c69 100644 --- a/.gitea/workflows/release.yaml +++ b/.gitea/workflows/release.yaml @@ -76,7 +76,9 @@ jobs: echo "archive=$archive" >> "$GITHUB_OUTPUT" - name: Upload build artifact - uses: actions/upload-artifact@v4 + # Gitea Actions doesn't support upload-artifact v4 (uses a + # GitHub-only backend API); pin to v3. + uses: actions/upload-artifact@v3 with: name: nuwiki-ls-${{ matrix.target }} path: ${{ steps.package.outputs.archive }} @@ -91,10 +93,11 @@ jobs: - uses: actions/checkout@v4 - name: Download all build artifacts - uses: actions/download-artifact@v4 + # Paired with upload-artifact@v3 above. v3 has no merge-multiple + # option and nests each artifact under its own subdirectory. + uses: actions/download-artifact@v3 with: path: ./artifacts - merge-multiple: true - name: Ensure jq + curl run: | @@ -135,7 +138,9 @@ jobs: fi echo "Created release id=$release_id" - for archive in artifacts/*.tar.gz; do + # download-artifact@v3 nests each artifact under its own dir + # (artifacts//), so recurse. + for archive in $(find artifacts -name '*.tar.gz' -type f); do name="$(basename "$archive")" echo "Uploading $name …" curl --fail --silent --show-error \