name: Release Builds
on:
release:
types: [published]
jobs:
build-win:
runs-on: windows-latest
env:
FILE_NAME: target/release/cornelli-win-latest.zip
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Build
run: cargo build --release --quiet --locked
- name: Compress binary
run: |
powershell -Command "Compress-Archive -Path target/release/nelli.exe -DestinationPath $env:FILE_NAME"
- name: Upload compressed binary to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.FILE_NAME }}
tag: ${{ github.ref }}
overwrite: true
build-unix:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
env:
FILE_NAME: target/release/cornelli-${{ matrix.os }}.tar.gz
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Build
run: cargo build --release --quiet --locked
- name: Compress binary
run: tar -czf ${{ env.FILE_NAME }} -C target/release nelli
- name: Upload compressed binary to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.FILE_NAME }}
tag: ${{ github.ref }}
overwrite: true
publish:
needs: [build-win, build-unix]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Publish using cargo
run: cargo publish --token ${{ secrets.CRATES_TOKEN }} --allow-dirty