name: Release
on:
push:
tags: ["v*"]
permissions:
contents: write
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
target:
- x86_64-unknown-linux-musl
- x86_64-unknown-linux-gnu
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.target }}
- name: Install musl tools
if: contains(matrix.target, 'musl')
run: sudo apt-get update && sudo apt-get install -y musl-tools
- run: cargo build --release --target ${{ matrix.target }}
- name: Package
run: |
tag=${GITHUB_REF_NAME}
label=$(echo "${{ matrix.target }}" | sed 's/x86_64-unknown-linux-/x86_64-linux-/')
tar czf "csess-${tag}-${label}.tar.gz" -C "target/${{ matrix.target }}/release" csess
- uses: softprops/action-gh-release@v2
with:
files: csess-*.tar.gz
generate_release_notes: true
publish:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo publish
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}