Skip to content

1.2.0-rc6

1.2.0-rc6 #5

Workflow file for this run

name: Release spcasm
on:
release:
types: [published]
jobs:
release:
name: Release build ${{ matrix.target }}
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
include:
- target: x86_64-pc-windows-msvc
runner: windows-latest
archive: zip
- target: x86_64-unknown-linux-musl
runner: ubuntu-latest
archive: tar.xz
- target: x86_64-apple-darwin
runner: macos-latest
archive: tar.xz
- target: aarch64-apple-darwin
runner: macos-latest
archive: tar.xz
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install OpenSSL (Linux)
if: ${{ matrix.runner == 'ubuntu-latest' }}
run: sudo apt update && sudo apt-get install -y openssl clang
- name: Install latest nightly
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
profile: minimal
- name: Install target toolchain
run: rustup target add ${{ matrix.target }}
- name: Install just
uses: extractions/setup-just@v2
- name: Install nextest (Linux)
if: ${{ matrix.runner == 'ubuntu-latest' }}
run: curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin
- name: Install nextest (macOS)
if: ${{ matrix.runner == 'macos-latest' }}
run: curl -LsSf https://get.nexte.st/latest/mac | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin
- name: Install nextest (Windows)
if: ${{ matrix.runner == 'windows-latest' }}
run: |
$tmp = New-TemporaryFile | Rename-Item -NewName { $_ -replace 'tmp$', 'zip' } -PassThru
Invoke-WebRequest -OutFile $tmp https://get.nexte.st/latest/windows
$outputDir = if ($Env:CARGO_HOME) { Join-Path $Env:CARGO_HOME "bin" } else { "~/.cargo/bin" }
$tmp | Expand-Archive -DestinationPath $outputDir -Force
$tmp | Remove-Item
- name: Build release artifacts
run: just release ${{ github.ref_name }} ${{ matrix.target }}
- name: Upload release asset
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: spcasm-${{ github.ref_name }}-${{ matrix.target }}.${{ matrix.archive }}