name: Release
on:
push:
tags:
- "v*"
jobs:
build:
name: Build Release Binaries
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Build
run: cargo build --release
- name: Archive
shell: bash
run: |
mkdir -p dist
if [[ "${{ runner.os }}" == "Windows" ]]; then
cp target/release/tally.exe dist/tally-${{ runner.os }}.exe
else
cp target/release/tally dist/tally-${{ runner.os }}
fi
- uses: actions/upload-artifact@v4
with:
name: tally-${{ runner.os }}
path: dist/*
release:
name: Create GitHub Release
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/download-artifact@v4
with:
path: dist
- uses: softprops/action-gh-release@v2
with:
files: dist/**/*