From 6a7404f03faf5ca19f5d512b3858efca88e40c0a Mon Sep 17 00:00:00 2001 From: Filip Leonarski Date: Tue, 25 Aug 2026 20:09:50 +0200 Subject: [PATCH] CI: upload the rugnux artifacts the way every other job does The three new rugnux jobs reached for akkuman/gitea-release-action@v1, which does not exist on this Gitea: actions resolve against gitea.psi.ch//, so the runner tried to clone gitea.psi.ch/akkuman/gitea-release-action and failed. That happens while preparing the workflow, before any step runs, so all three jobs died immediately without building anything. Every other job uploads with gitea_upload_file.py and the release token, so use that: bash on the Linux jobs, powershell on the Windows one, matching the viewer tarball and installer steps they sit next to. The Linux archives are renamed .tar.gz -> .tgz first, as the viewer archive already is. actions/checkout is now the only external action the workflow references. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01SQjneRUssfhi1k9rq8Ts3h --- .gitea/workflows/build_and_test.yml | 54 ++++++++++++++++++++++++----- 1 file changed, 45 insertions(+), 9 deletions(-) diff --git a/.gitea/workflows/build_and_test.yml b/.gitea/workflows/build_and_test.yml index daa75872..f3dee41f 100644 --- a/.gitea/workflows/build_and_test.yml +++ b/.gitea/workflows/build_and_test.yml @@ -217,9 +217,24 @@ jobs: ! find /tmp/rgx -name 'libcufft*' - name: Upload rugnux tgz to release if: github.ref_type == 'tag' - uses: akkuman/gitea-release-action@v1 - with: - files: build-rugnux/rugnux-*.tar.gz + shell: bash + env: + TOKEN: ${{ secrets.PIP_REPOSITORY_API_TOKEN }} + run: | + set -euo pipefail + shopt -s nullglob + # CMakeLists.txt names the archive rugnux--linux-{cuda|cpu}.tar.gz; + # rename to .tgz before upload, as the viewer archive does. + files=(build-rugnux/rugnux-*.tar.gz) + if [ ${#files[@]} -eq 0 ]; then + echo "No rugnux archive found in build-rugnux/" + exit 1 + fi + for file in "${files[@]}"; do + tgz="${file%.tar.gz}.tgz" + mv "$file" "$tgz" + python3 gitea_upload_file.py "$tgz" + done build-rugnux-windows: name: build:rugnux:windows @@ -237,9 +252,17 @@ jobs: run: cmake --build build-rugnux --config Release --target PACKAGE -j - name: Upload rugnux zip to release if: github.ref_type == 'tag' - uses: akkuman/gitea-release-action@v1 - with: - files: build-rugnux/rugnux-*.zip + shell: powershell + env: + TOKEN: ${{ secrets.PIP_REPOSITORY_API_TOKEN }} + run: | + # Zip named rugnux--win64-{cuda|cpu}.zip (see CMakeLists.txt). + $files = Get-ChildItem -Path build-rugnux -Filter 'rugnux-*-win64-*.zip' + if ($files.Count -eq 0) { throw 'No rugnux zip found in build-rugnux/' } + foreach ($file in $files) { + python gitea_upload_file.py $file.FullName + if ($LASTEXITCODE -ne 0) { throw "Upload failed for $($file.Name)" } + } build-rugnux-arm: name: build:rugnux:aarch64 (cross) @@ -291,9 +314,22 @@ jobs: cuobjdump --list-elf "$bin" | grep -q sm_121 - name: Upload tarball to release if: github.ref_type == 'tag' - uses: akkuman/gitea-release-action@v1 - with: - files: build-aarch64/*.tar.gz + shell: bash + env: + TOKEN: ${{ secrets.PIP_REPOSITORY_API_TOKEN }} + run: | + set -euo pipefail + shopt -s nullglob + files=(build-aarch64/rugnux-*.tar.gz) + if [ ${#files[@]} -eq 0 ]; then + echo "No rugnux archive found in build-aarch64/" + exit 1 + fi + for file in "${files[@]}"; do + tgz="${file%.tar.gz}.tgz" + mv "$file" "$tgz" + python3 gitea_upload_file.py "$tgz" + done build-rpm: name: build:rpm (${{ matrix.distro }})