Skip to content

Release Rust Application #8

Release Rust Application

Release Rust Application #8

Workflow file for this run

name: Release Rust Application
on:
release:
types: [created]
permissions:
contents: write
jobs:
release:
name: Release for ${{ matrix.target }}
strategy:
matrix:
include:
- target: aarch64-unknown-linux-gnu
os: ubuntu-latest
archive: linux-arm64
- target: aarch64-apple-darwin
os: macos-latest
archive: darwin-arm64
- target: x86_64-apple-darwin
os: macos-latest
archive: darwin-x86_64
- target: x86_64-unknown-linux-gnu
os: ubuntu-latest
archive: linux-x86_64
- target: x86_64-pc-windows-msvc
os: windows-latest
archive: windows-x86_64
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- run: |
# Update the version in Cargo.toml
TAG_NAME="${{ github.event.release.tag_name }}"
TAG_NAME="${TAG_NAME#v}"
if [[ "${{ runner.os }}" == "macos-latest" ]]; then
sed -i "" "s/^version = .*/version = \"$TAG_NAME\"/" Cargo.toml
else
sed -i "s/^version = .*/version = \"$TAG_NAME\"/" Cargo.toml
fi
- uses: taiki-e/upload-rust-binary-action@v1
with:
bin: gc-rust
archive: $bin-$tag-${{ matrix.archive }}
target: ${{ matrix.target }}
tar: unix
zip: windows
token: ${{ secrets.GITHUB_TOKEN }}