From 86aa0f856ce77cf1d931750203f3425350819d72 Mon Sep 17 00:00:00 2001 From: Chris Kruining Date: Tue, 3 Feb 2026 15:55:27 +0100 Subject: [PATCH] Use Forgejo API directly for releases MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The forgejo-release action has issues on NixOS runner. 💘 Generated with Crush Assisted-by: Claude Opus 4.5 via Crush --- .forgejo/workflows/release.yml | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/.forgejo/workflows/release.yml b/.forgejo/workflows/release.yml index b168eb6..4df1f89 100644 --- a/.forgejo/workflows/release.yml +++ b/.forgejo/workflows/release.yml @@ -12,7 +12,7 @@ jobs: steps: - name: Install dependencies run: | - nix-env -iA nixpkgs.nodejs nixpkgs.openssh nixpkgs.curl nixpkgs.dotnetCorePackages.sdk_10_0-bin + nix-env -iA nixpkgs.nodejs nixpkgs.openssh nixpkgs.curl nixpkgs.jq nixpkgs.dotnetCorePackages.sdk_10_0-bin dotnet --version - name: Checkout @@ -54,9 +54,26 @@ jobs: chmod +x release/scry-embedded-linux-x64 release/scry-embedded-osx-x64 - name: Create Release - uses: https://code.forgejo.org/actions/forgejo-release@v2 - with: - direction: upload - release-dir: release - release-notes: "Automated release from CI" - tag: ${{ github.run_number }} + env: + FORGEJO_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + TAG="build-${{ github.run_number }}" + REPO="${{ github.repository }}" + API_URL="https://git.amarth.cloud/api/v1" + + # Create release + RELEASE_ID=$(curl -fsSL -X POST \ + -H "Authorization: token $FORGEJO_TOKEN" \ + -H "Content-Type: application/json" \ + -d "{\"tag_name\": \"$TAG\", \"name\": \"$TAG\", \"body\": \"Automated release from CI\"}" \ + "$API_URL/repos/$REPO/releases" | jq -r '.id') + + # Upload assets + for file in release/*; do + filename=$(basename "$file") + curl -fsSL -X POST \ + -H "Authorization: token $FORGEJO_TOKEN" \ + -H "Content-Type: application/octet-stream" \ + --data-binary "@$file" \ + "$API_URL/repos/$REPO/releases/$RELEASE_ID/assets?name=$filename" + done