diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..cdf54e7e2 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,42 @@ +name: Release + +permissions: + contents: write + +on: + push: + tags: + - v[0-9]+.* + +jobs: + release: + strategy: + matrix: + include: + - os: ubuntu-latest + artifact_name: ${{ github.event.repository.name }} + asset_name: ${{ github.event.repository.name }}-linux-amd64 + - os: windows-latest + artifact_name: ${{ github.event.repository.name }}.exe + asset_name: ${{ github.event.repository.name }}-windows-amd64.exe + - os: macos-latest + artifact_name: ${{ github.event.repository.name }} + asset_name: ${{ github.event.repository.name }}-macos-amd64 + runs-on: ${{ matrix.os }} + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Set up Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + - name: Build release + run: >- + cargo build --release + - name: Upload binaries to release + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: target/release/${{ matrix.artifact_name }} + asset_name: ${{ matrix.asset_name }} + tag: ${{ github.ref }} \ No newline at end of file