name: CI
on:
pull_request:
push:
branches:
- staging
- trying
env:
RUSTFLAGS: -Dwarnings
jobs:
build_and_test:
name: Build and test
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
rust: [stable]
steps:
- uses: actions/checkout@v3
- name: Install ${{ matrix.rust }}
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
override: true
- name: check
uses: actions-rs/cargo@v1
with:
command: check
args: --all --bins --examples
- name: check unstable
uses: actions-rs/cargo@v1
with:
command: check
args: --all --benches --bins --examples --tests
- name: tests
uses: actions-rs/cargo@v1
with:
command: test
args: --all
- name: update lockfile for windows-sys v0.52.0
uses: actions-rs/cargo@v1
if: runner.os == 'Windows'
with:
command: update
args: -p windows-sys --precise 0.52.0
- name: check windows-sys v0.52.0
uses: actions-rs/cargo@v1
if: runner.os == 'Windows'
with:
command: test
args: --all
- name: update lockfile for windows-sys v0.59.0
uses: actions-rs/cargo@v1
if: runner.os == 'Windows'
with:
command: update
args: -p windows-sys --precise 0.59.0
- name: check windows-sys v0.59.0
uses: actions-rs/cargo@v1
if: runner.os == 'Windows'
with:
command: test
args: --all
check_fmt_and_docs:
name: Checking fmt and docs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
with:
toolchain: nightly
components: rustfmt, clippy
override: true
- name: fmt
run: cargo fmt --all -- --check
- name: Docs
run: cargo doc