Merge pull request #106 from comath/rkyv-support #174
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Rust | |
on: [push, pull_request] | |
env: | |
CARGO_INCREMENTAL: 0 | |
CARGO_NET_RETRY: 10 | |
RUSTUP_MAX_RETRIES: 10 | |
CARGO_TERM_COLOR: always | |
RUST_BACKTRACE: full | |
RUSTFLAGS: "-D warnings" | |
# Disable debuginfo for faster compile | |
CARGO_PROFILE_DEV_DEBUG: 0 | |
CARGO_PROFILE_TEST_DEBUG: 0 | |
CARGO_PROFILE_BENCH_DEBUG: 0 | |
CI: 1 | |
CARGO_MAKE_CI: 1 | |
CARGO_MAKE_RUN_CHECK_FORMAT: 1 | |
CARGO_MAKE_RUN_CLIPPY: 1 | |
CARGO_MAKE_BUILD_BENCH: 1 | |
jobs: | |
rust: | |
name: Rust | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest] | |
target: [x86_64, i686, aarch64] | |
rust: | |
- stable | |
- beta | |
- nightly | |
- 1.70.0 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Linux Install Rust toolchain | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.rust }} | |
target: ${{ matrix.target }}-unknown-linux-gnu | |
override: true | |
components: clippy,rustfmt | |
- name: Windows Install Rust toolchain | |
if: ${{ matrix.os == 'windows-latest' }} | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.rust }} | |
target: ${{ matrix.target }}-pc-windows-msvc | |
override: true | |
components: clippy,rustfmt | |
- name: Cache Dependencies | |
uses: Swatinem/rust-cache@v2 | |
- name: Install Cargo Make | |
if: ${{ matrix.target == 'x86_64' }} | |
uses: davidB/rust-cargo-make@v1 | |
- name: cargo-make ci-flow | |
if: ${{ matrix.target == 'x86_64' }} | |
uses: actions-rs/cargo@v1 | |
with: | |
command: make | |
args: ci-flow | |
- name: linux cargo-make build-only | |
if: ${{ matrix.target != 'x86_64' && matrix.os == 'ubuntu-latest' }} | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --all-features --target ${{ matrix.target }}-unknown-linux-gnu | |
- name: windows cargo-make build-only | |
if: ${{ matrix.target != 'x86_64' && matrix.os == 'windows-latest' }} | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --all-features --target ${{ matrix.target }}-pc-windows-msvc | |
miri: | |
name: Miri | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
override: true | |
components: miri | |
- name: Run Miri | |
uses: actions-rs/cargo@v1 | |
with: | |
command: miri | |
args: test | |
env: | |
MIRIFLAGS: -Zmiri-strict-provenance |