Skip to content

Remove roadmap documentation and update various markdown files for cl… #1

Remove roadmap documentation and update various markdown files for cl…

Remove roadmap documentation and update various markdown files for cl… #1

Workflow file for this run

name: Release
on:
push:
tags:
- "v*"
permissions:
contents: write
jobs:
build:
name: Build ${{ matrix.name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
# Windows
- name: Windows-x64
os: windows-latest
target: x86_64-pc-windows-msvc
binary: dev.exe
archive: dev-windows-x86_64.zip
# Linux
- name: Linux-x64
os: ubuntu-latest
target: x86_64-unknown-linux-gnu
binary: dev
archive: dev-linux-x86_64.tar.gz
# macOS Apple Silicon
- name: macOS-arm64
os: macos-latest
target: aarch64-apple-darwin
binary: dev
archive: dev-macos-arm64.tar.gz
# macOS Intel
- name: macOS-x64
os: macos-13
target: x86_64-apple-darwin
binary: dev
archive: dev-macos-x86_64.tar.gz
steps:
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.target }}
- uses: Swatinem/rust-cache@master
- name: Run tests
run: cargo test-all
- name: Build release binary
run: cargo build --locked --release --target ${{ matrix.target }}
# Strip symbols (Linux/macOS only)
- name: Strip binary
if: runner.os != 'Windows'
run: strip target/${{ matrix.target }}/release/${{ matrix.binary }}
# Package Windows
- name: Package Windows binary
if: runner.os == 'Windows'
shell: pwsh
run: |
Compress-Archive `
-Path target/${{ matrix.target }}/release/${{ matrix.binary }} `
-DestinationPath ${{ matrix.archive }}
# Package Linux/macOS
- name: Package Unix binary
if: runner.os != 'Windows'
run: |
tar -czf ${{ matrix.archive }} \
-C target/${{ matrix.target }}/release \
${{ matrix.binary }}
- name: Upload release asset
uses: softprops/action-gh-release@master
with:
generate_release_notes: true
files: ${{ matrix.archive }}