diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..9105e42 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,57 @@ +name: podsync release + +on: + pull_request: + push: + tags: + - 'v*.*.*' + branches: + - feat/gh-release + +jobs: + build: + name: Build and Release + runs-on: ubuntu-latest + + #permissions: write-all + permissions: + "contents": "write" + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + profile: minimal + override: true + + - name: Build + uses: actions-rs/cargo@v1 + with: + command: build + args: --release --features backend-sql + + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.ref }} + release_name: Release ${{ github.ref }} + draft: true + prerelease: false + + - name: Upload Release Asset + id: upload-release-asset + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: target/release/podsync + asset_name: podsync + asset_content_type: application/octet-stream