Skip to content

Revamp CI

Revamp CI #16

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
jobs:
check:
name: Check (${{ matrix.os.name }} | ${{ matrix.profile.title }})
runs-on: ${{ matrix.os.runner }}
strategy:
fail-fast: false
matrix:
os:
- name: Linux (x64)
runner: ubuntu-latest
target: x86_64-unknown-linux-gnu
- name: Linux (ARM)
runner: ubuntu-latest
target: aarch64-unknown-linux-gnu
- name: MacOS (x64)
runner: macos-latest
target: x86_64-apple-darwin
- name: MacOS (ARM)
runner: macos-latest
target: aarch64-apple-darwin
- name: Windows (x64)
runner: windows-latest
target: x86_64-pc-windows-msvc
profile:
- title: Debug
arg: --debug
- title: Release
arg: --release
steps:
- uses: actions/checkout@v4
- uses: dtolnay/[email protected]
with:
targets: ${{ matrix.os.target }}
- name: Build (${{ matrix.profile.title }})
run: cargo build ${{ matrix.profile.arg }} --all-features
- name: Test (${{ matrix.profile.title }})
run: cargo test ${{ matrix.profile.arg }} --all-features
miri:
name: Miri
runs-on: ${{ matrix.os.runner }}
strategy:
matrix:
os:
- name: Linux (x64)
runner: ubuntu-latest
target: x86_64-unknown-linux-gnu
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
with:
targets: ${{ matrix.os.target }}
components: miri
- name: Make sure Miri is still too strong
run: "! cargo +nightly miri test"