Skip to content

Move things around more #1034

Move things around more

Move things around more #1034

Workflow file for this run

name: CI
on:
pull_request: {}
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
needs: features
strategy:
fail-fast: false
matrix:
rust: ['1.76', stable]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{matrix.rust}}
- run: cargo build -p musli --all-features
if: matrix.rust != 'stable'
- run: cargo build --all-targets --features test
if: matrix.rust == 'stable'
- run: cargo test --all-targets --features test
if: matrix.rust == 'stable'
- run: cargo test --doc --features test
if: matrix.rust == 'stable'
tests_clippy:
runs-on: ubuntu-latest
needs: features
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo run -p tools -- clippy -- -D warnings
no_std:
runs-on: windows-latest
needs: features
strategy:
fail-fast: false
matrix:
example: ['json']
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- run: cargo build
- run: cargo +nightly run -p no-std --example no-std-${{matrix.example}}
fuzz:
needs: [test, tests_clippy, features, recursive]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo run --release -p tests --features test --bin fuzz
- run: cargo run --release -p tests --features test --bin fuzz -- --random
miri:
needs: [test, tests_clippy, features, recursive]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
with:
components: miri
- run: cargo miri test --features test
- run: cargo miri run -p tests --features test --bin fuzz
- run: cargo miri run -p tests --features test --bin fuzz -- --random
no_default_features:
needs: [rustfmt, clippy]
runs-on: ubuntu-latest
env:
RUSTFLAGS: -D warnings
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo build -p musli --no-default-features
features:
needs: [no_default_features, rustfmt, clippy]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
base:
- storage
- descriptive
- wire
- json
- value
- serde
env:
RUSTFLAGS: -D warnings
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo build -p musli --no-default-features --features ${{matrix.base}}
- run: cargo build -p musli --no-default-features --features ${{matrix.base}},alloc
- run: cargo build -p musli --no-default-features --features ${{matrix.base}},std
- run: cargo build -p musli --no-default-features --features ${{matrix.base}},simdutf8
- run: cargo build -p musli --no-default-features --features ${{matrix.base}},parse-full
recursive:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo build --release -p musli --test recursive_models
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@1.76
with:
components: clippy
- run: cargo clippy --all-targets --features test -- -D warnings
rustfmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- run: cargo fmt --check --all
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
- run: cargo doc --lib --no-deps --document-private-items
env:
RUSTFLAGS: --cfg doc_cfg
RUSTDOCFLAGS: --cfg doc_cfg -Dwarnings