Downgrade release.yml's artifact actions to v3

Found by actually running release.yml against a real v0.0.1 tag: every
build-* job failed at actions/upload-artifact@v4 with "GHESNotSupportedError:
@actions/artifact v2.0.0+, upload-artifact@v4+ and download-artifact@v4+
are not currently supported on GHES." - exactly the risk flagged (but not
yet hit) when this workflow was first written. This Gitea Actions instance
doesn't support the v4 artifact protocol; v3 does.

v3 has no merge-multiple option: downloading all artifacts with no `name`
given lands each one in its own artifacts/<artifact-name>/ subdirectory
instead of flattened into artifacts/. Changed the generic-package-registry
upload loop from a flat `artifacts/*` glob to `find artifacts -type f` so
it finds files regardless of that nesting.

Not yet confirmed: whether build-docker (needs secrets.TOKEN, still unset)
and the rest of the release job succeed once the artifact step itself
works - that's the next real run to check.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
SansanandClaude Sonnet 5 committed 2026-10-03 20:01:11 +02:00
1 parent 51d6e24122
commit 5d9fe0d263
1 file changed
+9 -6
+9 -6
View File
@@ -63,7 +63,7 @@ jobs:
tar czf "../${base}.tar.gz" completed-api completed-tui
fi
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v3
with:
name: ${{ env.PROJECT_NAME }}_${{ matrix.goos }}_${{ matrix.goarch }}
path: ${{ env.PROJECT_NAME }}_${{ matrix.goos }}_${{ matrix.goarch }}.*
@@ -123,7 +123,7 @@ jobs:
tar czf "${base}.tar.gz" completed-gui
fi
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v3
with:
name: ${{ env.PROJECT_NAME }}-gui_${{ matrix.goos }}_${{ matrix.goarch }}
path: ${{ env.PROJECT_NAME }}-gui_${{ matrix.goos }}_${{ matrix.goarch }}.*
@@ -149,7 +149,7 @@ jobs:
- name: Archive
run: tar czf ${PROJECT_NAME}-web_dist.tar.gz -C web/dist/web/browser .
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v3
with:
name: ${{ env.PROJECT_NAME }}-web_dist
path: ${{ env.PROJECT_NAME }}-web_dist.tar.gz
@@ -191,16 +191,19 @@ jobs:
needs: [build-go, build-gui, build-web]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
- uses: actions/download-artifact@v3
with:
path: artifacts
merge-multiple: true
# v3 has no merge-multiple: downloading all artifacts (no `name`
# given) lands each one in its own artifacts/<artifact-name>/
# subdirectory, not flattened - hence `find`, not a fixed-depth
# glob, in the step below.
- name: Upload to the Gitea generic package registry
env:
VERSION: ${{ gitea.ref_name }}
run: |
for f in artifacts/*; do
find artifacts -type f | while read -r f; do
name="$(basename "$f")"
echo "Uploading $name"
curl --fail --user "${{ github.repository_owner }}:${{ secrets.TOKEN }}" \