name: Build
on: [push, pull_request]
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ${{ matrix.os }}
env:
RUST_BACKTRACE: 1
strategy:
matrix:
build: [ubuntu64, win64]
include:
- build: ubuntu64
os: ubuntu-latest
host_target: x86_64-unknown-linux-gnu
- build: win64
os: windows-latest
host_target: x86_64-pc-windows-msvc
steps:
- uses: actions/checkout@v4
with:
lfs: 'true'
- name: Install rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.host_target }}
- name: build
run: cargo build --target=${{ matrix.host_target }} --release
- name: Cargo test
run: cargo test --release
fmt:
name: check formatting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- name: Cargo fmt
run: cargo fmt --all -- --check
- name: Cargo clippy
run: cargo clippy -- -D warnings