From e60b6af388fb2b1e0a89f018caf107d78eaad3ec Mon Sep 17 00:00:00 2001 From: whitlocktech Date: Sun, 17 May 2026 01:20:36 -0500 Subject: [PATCH] add release workflow --- .gitea/workflows/release.yml | 59 ++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 .gitea/workflows/release.yml diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml new file mode 100644 index 0000000..81c53a0 --- /dev/null +++ b/.gitea/workflows/release.yml @@ -0,0 +1,59 @@ +name: Build and Release + +on: + push: + tags: + - 'v*' + +jobs: + build: + runs-on: windows-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Install Rust stable + uses: dtolnay/rust-toolchain@stable + with: + toolchain: stable + targets: x86_64-pc-windows-msvc + + - name: Build release binary + run: cargo build --release + + - name: Create Gitea Release + id: create_release + run: | + $tag = "${{ github.ref_name }}" + $body = @{ + tag_name = $tag + name = "Tickr $tag" + body = "Automated release $tag" + draft = $false + prerelease = $false + } | ConvertTo-Json + + $response = Invoke-RestMethod ` + -Uri "https://gitea.whitlocktech.com/api/v1/repos/whitlocktech/tickr/releases" ` + -Method Post ` + -Headers @{ + Authorization = "token ${{ secrets.RELEASE_TOKEN }}" + "Content-Type" = "application/json" + } ` + -Body $body + + echo "release_id=$($response.id)" >> $env:GITHUB_OUTPUT + + - name: Upload binary asset + run: | + $releaseId = "${{ steps.create_release.outputs.release_id }}" + $filePath = "target\release\tickr.exe" + + Invoke-RestMethod ` + -Uri "https://gitea.whitlocktech.com/api/v1/repos/whitlocktech/tickr/releases/$releaseId/assets?name=tickr.exe" ` + -Method Post ` + -Headers @{ + Authorization = "token ${{ secrets.RELEASE_TOKEN }}" + } ` + -InFile $filePath ` + -ContentType "application/octet-stream" \ No newline at end of file