Downgrade release.yml's artifact actions to v3
CI / go (push) Successful in 46s
Release / build-go (amd64, linux) (push) Successful in 47s
CI / docker (push) Successful in 51s
CI / sqlc (push) Successful in 9s
CI / web (push) Successful in 25s
Release / build-go (amd64, darwin) (push) Successful in 53s
Release / build-go (amd64, windows) (push) Successful in 52s
Release / build-go (arm64, darwin) (push) Successful in 31s
Release / build-go (arm64, linux) (push) Successful in 30s
Release / build-web (push) Successful in 17s
Release / build-gui (amd64, linux, libgl1-mesa-dev xorg-dev libwayland-dev libxkbcommon-dev) (push) Successful in 49s
Release / build-docker (push) Successful in 52s
Release / build-gui (amd64, windows, gcc-mingw-w64-x86-64) (push) Successful in 4m16s
Release / release (push) Successful in 18s

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 f1337e824e
1 file changed
+9 -6
+9 -6
View File
@@ -63,7 +63,7 @@ jobs:
tar czf "../${base}.tar.gz" completed-api completed-tui tar czf "../${base}.tar.gz" completed-api completed-tui
fi fi
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v3
with: with:
name: ${{ env.PROJECT_NAME }}_${{ matrix.goos }}_${{ matrix.goarch }} name: ${{ env.PROJECT_NAME }}_${{ matrix.goos }}_${{ matrix.goarch }}
path: ${{ 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 tar czf "${base}.tar.gz" completed-gui
fi fi
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v3
with: with:
name: ${{ env.PROJECT_NAME }}-gui_${{ matrix.goos }}_${{ matrix.goarch }} name: ${{ env.PROJECT_NAME }}-gui_${{ matrix.goos }}_${{ matrix.goarch }}
path: ${{ env.PROJECT_NAME }}-gui_${{ matrix.goos }}_${{ matrix.goarch }}.* path: ${{ env.PROJECT_NAME }}-gui_${{ matrix.goos }}_${{ matrix.goarch }}.*
@@ -149,7 +149,7 @@ jobs:
- name: Archive - name: Archive
run: tar czf ${PROJECT_NAME}-web_dist.tar.gz -C web/dist/web/browser . 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: with:
name: ${{ env.PROJECT_NAME }}-web_dist name: ${{ env.PROJECT_NAME }}-web_dist
path: ${{ env.PROJECT_NAME }}-web_dist.tar.gz path: ${{ env.PROJECT_NAME }}-web_dist.tar.gz
@@ -191,16 +191,19 @@ jobs:
needs: [build-go, build-gui, build-web] needs: [build-go, build-gui, build-web]
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/download-artifact@v4 - uses: actions/download-artifact@v3
with: with:
path: artifacts 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 - name: Upload to the Gitea generic package registry
env: env:
VERSION: ${{ gitea.ref_name }} VERSION: ${{ gitea.ref_name }}
run: | run: |
for f in artifacts/*; do find artifacts -type f | while read -r f; do
name="$(basename "$f")" name="$(basename "$f")"
echo "Uploading $name" echo "Uploading $name"
curl --fail --user "${{ github.repository_owner }}:${{ secrets.TOKEN }}" \ curl --fail --user "${{ github.repository_owner }}:${{ secrets.TOKEN }}" \