From 6cacc958c4e6263d96ca50fee63fa7cba637fbe9 Mon Sep 17 00:00:00 2001 From: Mathias Beaulieu-Duncan Date: Mon, 9 Feb 2026 18:23:20 -0500 Subject: [PATCH] Replace forgejo-release action with Gitea API calls MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The act_runner can't resolve Forgejo actions from Codeberg. Use direct Gitea API calls for release creation and artifact upload instead — simpler and no external dependencies. Co-Authored-By: Claude Opus 4.6 --- .gitea/workflows/build.yaml | 58 ++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 8b7d50a..5fe36ce 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -69,36 +69,36 @@ jobs: cp "$DISK_IMAGE" metal-arm64.raw.zst ls -lh metal-arm64.raw.zst - - name: Create Gitea release - uses: actions/forgejo-release@v2 - with: - direction: upload - tag: ${{ steps.version.outputs.tag }} - title: "Talos CM5 ${{ steps.version.outputs.tag }}" - release-notes: | - Custom Talos Linux image for Raspberry Pi CM5 (Compute Blade) - - **Talos version**: check Makefile - **Kernel**: RPi downstream (CM5/RP1 support) - **Extensions**: iscsi-tools, util-linux-tools - **Overclock**: 2.6GHz (arm_freq=2600) - - ## Artifacts - - `metal-arm64.raw.zst` — Raw disk image for eMMC flashing - - `docker.io/svrnty/talos-rpi5:${{ steps.version.outputs.tag }}` — Installer image for `talosctl upgrade` - - ## Usage - ```bash - # Flash to eMMC - ./scripts/flash-emmc.sh metal-arm64.raw.zst - - # Upgrade existing node - talosctl upgrade --image docker.io/svrnty/talos-rpi5:${{ steps.version.outputs.tag }} - ``` - release-dir: . - release-notes-assistant: none + - name: Create Gitea release and upload artifact env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITEA_TOKEN: ${{ secrets.GITHUB_TOKEN }} + TAG: ${{ steps.version.outputs.tag }} + run: | + GITEA_URL="${GITHUB_SERVER_URL}" + REPO="${GITHUB_REPOSITORY}" + API="${GITEA_URL}/api/v1" + + # Create release + RELEASE_ID=$(curl -sf -X POST \ + -H "Authorization: token ${GITEA_TOKEN}" \ + -H "Content-Type: application/json" \ + -d "{ + \"tag_name\": \"${TAG}\", + \"name\": \"Talos RPi5 ${TAG}\", + \"body\": \"Custom Talos Linux image for Raspberry Pi 5 / CM5 (Compute Blade)\n\n**Talos version**: ${TAG}\n**Kernel**: RPi downstream (CM5/RP1 support)\n**Extensions**: iscsi-tools, util-linux-tools\n**Overclock**: 2.6GHz (arm_freq=2600)\n\n## Artifacts\n- \`metal-arm64.raw.zst\` — Raw disk image for eMMC flashing\n- \`docker.io/svrnty/talos-rpi5:${TAG}\` — Installer image for talosctl upgrade\", + \"prerelease\": true + }" \ + "${API}/repos/${REPO}/releases" | jq -r '.id') + + echo "Created release ID: ${RELEASE_ID}" + + # Upload disk image + curl -sf -X POST \ + -H "Authorization: token ${GITEA_TOKEN}" \ + -F "attachment=@metal-arm64.raw.zst" \ + "${API}/repos/${REPO}/releases/${RELEASE_ID}/assets?name=metal-arm64.raw.zst" + + echo "Uploaded metal-arm64.raw.zst to release" - name: Clean up if: always()