Skip to content

Descriptive integers #957

Descriptive integers

Descriptive integers #957

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: each_package
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
if: matrix.rust != 'stable'
- run: cargo build --all-targets
if: matrix.rust == 'stable'
- run: cargo test --all-targets --features test
if: matrix.rust == 'stable'
- run: cargo test --doc
if: matrix.rust == 'stable'
tests_clippy:
runs-on: ubuntu-latest
needs: each_package
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: each_package
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, each_package, 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, each_package, 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
each_package:
needs: [rustfmt, clippy]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
package:
- musli
- musli-allocator
- musli-utils
- musli-storage
- musli-descriptive
- musli-wire
- musli-json
- musli-value
- musli-serde
env:
RUSTFLAGS: -D warnings
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo build -p ${{matrix.package}} --no-default-features
- run: cargo build -p ${{matrix.package}} --no-default-features --features alloc
- run: cargo build -p ${{matrix.package}} --no-default-features --features std
- run: cargo build -p ${{matrix.package}} --no-default-features --features simdutf8
if: matrix.package == 'musli-storage' || matrix.package == 'musli-wire' || matrix.package == 'musli-descriptive' || matrix.package == 'musli-json'
- run: cargo build -p ${{matrix.package}} --no-default-features --features parse-full
if: matrix.package == 'musli-json'
recursive:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo build --release -p tests --test recursive_models --features test
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