From 032f06630708ff913f753bc1532f76b9932c40f5 Mon Sep 17 00:00:00 2001 From: Yoshihiro OKUMURA Date: Fri, 17 Apr 2026 20:43:02 +0900 Subject: [PATCH] ci: simplify release workflow using gitea-release-action Replace manual curl-based release creation and asset upload with akkuman/gitea-release-action@v1. Each build job now independently creates/updates the release and uploads its asset in a single step. Also remove macOS and Windows jobs as those runners are not available. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .gitea/workflows/release.yml | 104 ++++------------------------------- 1 file changed, 10 insertions(+), 94 deletions(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index cbba6e6..da12ea7 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -6,25 +6,7 @@ on: - 'v*' jobs: - create-release: - runs-on: ubuntu-latest - outputs: - release_id: ${{ steps.create.outputs.release_id }} - steps: - - name: Create Gitea release - id: create - env: - GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} - run: | - RESPONSE=$(curl -sf -X POST \ - -H "Authorization: Bearer ${GITEA_TOKEN}" \ - -H "Content-Type: application/json" \ - "${GITEA_SERVER_URL}/api/v1/repos/${GITEA_REPOSITORY}/releases" \ - -d "{\"tag_name\": \"${GITHUB_REF_NAME}\", \"name\": \"${GITHUB_REF_NAME}\"}") - echo "release_id=$(echo "$RESPONSE" | python3 -c 'import sys,json; print(json.load(sys.stdin)["id"])')" >> "$GITHUB_OUTPUT" - build-linux-x86_64: - needs: create-release runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -43,17 +25,13 @@ jobs: ARCHIVE="mdrs-${VERSION}-${TARGET}.tar.gz" tar -czf "${ARCHIVE}" -C target/${TARGET}/release mdrs echo "ARCHIVE=${ARCHIVE}" >> "$GITHUB_ENV" - - name: Upload asset - env: - GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} - run: | - curl -sf -X POST \ - -H "Authorization: Bearer ${GITEA_TOKEN}" \ - -F "attachment=@${ARCHIVE}" \ - "${GITEA_SERVER_URL}/api/v1/repos/${GITEA_REPOSITORY}/releases/${{ needs.create-release.outputs.release_id }}/assets" + - name: Create release and upload asset + uses: akkuman/gitea-release-action@v1 + with: + token: ${{ github.token }} + files: ${{ env.ARCHIVE }} build-linux-aarch64: - needs: create-release runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -70,70 +48,8 @@ jobs: ARCHIVE="mdrs-${VERSION}-${TARGET}.tar.gz" tar -czf "${ARCHIVE}" -C target/${TARGET}/release mdrs echo "ARCHIVE=${ARCHIVE}" >> "$GITHUB_ENV" - - name: Upload asset - env: - GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} - run: | - curl -sf -X POST \ - -H "Authorization: Bearer ${GITEA_TOKEN}" \ - -F "attachment=@${ARCHIVE}" \ - "${GITEA_SERVER_URL}/api/v1/repos/${GITEA_REPOSITORY}/releases/${{ needs.create-release.outputs.release_id }}/assets" - - build-macos: - needs: create-release - runs-on: macos-latest - strategy: - matrix: - target: - - x86_64-apple-darwin - - aarch64-apple-darwin - steps: - - uses: actions/checkout@v4 - - name: Install Rust stable - run: rustup update stable && rustup default stable - - name: Add target - run: rustup target add ${{ matrix.target }} - - name: Build - run: cargo build --release --target ${{ matrix.target }} - - name: Create archive - run: | - VERSION=${GITHUB_REF_NAME#v} - TARGET=${{ matrix.target }} - ARCHIVE="mdrs-${VERSION}-${TARGET}.tar.gz" - tar -czf "${ARCHIVE}" -C target/${TARGET}/release mdrs - echo "ARCHIVE=${ARCHIVE}" >> "$GITHUB_ENV" - - name: Upload asset - env: - GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} - run: | - curl -sf -X POST \ - -H "Authorization: Bearer ${GITEA_TOKEN}" \ - -F "attachment=@${ARCHIVE}" \ - "${GITEA_SERVER_URL}/api/v1/repos/${GITEA_REPOSITORY}/releases/${{ needs.create-release.outputs.release_id }}/assets" - - build-windows: - needs: create-release - runs-on: windows-latest - steps: - - uses: actions/checkout@v4 - - name: Install Rust stable - run: rustup update stable && rustup default stable - - name: Build - run: cargo build --release --target x86_64-pc-windows-msvc - - name: Create archive - shell: pwsh - run: | - $VERSION = $env:GITHUB_REF_NAME -replace '^v', '' - $TARGET = "x86_64-pc-windows-msvc" - $ARCHIVE = "mdrs-${VERSION}-${TARGET}.zip" - Compress-Archive -Path "target/${TARGET}/release/mdrs.exe" -DestinationPath $ARCHIVE - echo "ARCHIVE=$ARCHIVE" >> $env:GITHUB_ENV - - name: Upload asset - env: - GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} - shell: bash - run: | - curl -sf -X POST \ - -H "Authorization: Bearer ${GITEA_TOKEN}" \ - -F "attachment=@${ARCHIVE}" \ - "${GITEA_SERVER_URL}/api/v1/repos/${GITEA_REPOSITORY}/releases/${{ needs.create-release.outputs.release_id }}/assets" + - name: Create release and upload asset + uses: akkuman/gitea-release-action@v1 + with: + token: ${{ github.token }} + files: ${{ env.ARCHIVE }}