diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bf10093..5ef839c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,8 +1,6 @@ name: Release on: - release: - types: [published] push: tags: - 'v*' @@ -10,9 +8,12 @@ on: env: CARGO_TERM_COLOR: always +permissions: + contents: write + jobs: - build-and-release: - name: Build and Release + build: + name: Build runs-on: ${{ matrix.os }} strategy: matrix: @@ -49,15 +50,42 @@ jobs: - name: Build project run: cargo build --release --target ${{ matrix.target }} - - name: Rename binary for release + - name: Prepare release artifact run: | - mkdir -p release-assets - cp target/${{ matrix.target }}/release/${{ matrix.artifact_name }} release-assets/${{ matrix.release_name }} + mkdir -p release-package + cp target/${{ matrix.target }}/release/${{ matrix.artifact_name }} release-package/${{ matrix.release_name }} - - name: Upload release assets - uses: softprops/action-gh-release@v2 - if: startsWith(github.ref, 'refs/tags/') + - name: Upload artifact + uses: actions/upload-artifact@v4 with: - files: release-assets/${{ matrix.release_name }} + name: ${{ matrix.release_name }} + path: release-package/${{ matrix.release_name }} + retention-days: 1 + + release: + name: Create Release + needs: build + runs-on: ubuntu-latest + if: startsWith(github.ref, 'refs/tags/') + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Download all artifacts + uses: actions/download-artifact@v4 + with: + path: artifacts + + - name: List downloaded artifacts + run: ls -R artifacts + + - name: Create release + uses: softprops/action-gh-release@v2 + with: + files: artifacts/**/gemini-keychecker* + name: ${{ github.ref_name }} + draft: false + prerelease: false + fail_on_unmatched_files: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file