A Vec of Bits
at main 95 lines 2.6 kB view raw
1name: Rust 2 3on: 4 push: 5 branches: [ master ] 6 pull_request: 7 branches: [ master ] 8 9env: 10 CARGO_TERM_COLOR: always 11 12jobs: 13 build: 14 runs-on: ubuntu-latest 15 steps: 16 - uses: actions/checkout@v5 17 - name: Build 18 run: cargo build --verbose 19 - name: Run tests 20 run: cargo test --verbose 21 - name: Run miniserde tests 22 run: cargo test --features miniserde --verbose 23 - name: Run nanoserde tests 24 run: cargo test --features nanoserde --verbose 25 - name: Run borsh tests 26 run: cargo test --features borsh --verbose 27 28 miri: 29 name: "Miri" 30 runs-on: ubuntu-latest 31 steps: 32 - uses: actions/checkout@v5 33 - name: Install Miri 34 run: | 35 rustup toolchain install nightly --component miri 36 rustup override set nightly 37 cargo miri setup 38 - name: Test with Miri 39 run: MIRIFLAGS=-Zmiri-strict-provenance cargo miri test 40 41 fmt: 42 runs-on: ubuntu-latest 43 steps: 44 - uses: actions/checkout@v5 45 - uses: dtolnay/rust-toolchain@master 46 with: 47 toolchain: stable 48 components: rustfmt 49 - run: cargo fmt --all -- --check 50 51 msrv: 52 name: Rust ${{matrix.rust}} 53 runs-on: ubuntu-latest 54 strategy: 55 fail-fast: false 56 matrix: 57 rust: [1.82.0, 1.83.0] 58 timeout-minutes: 45 59 steps: 60 - uses: actions/checkout@v5 61 - uses: dtolnay/rust-toolchain@master 62 with: 63 toolchain: ${{matrix.rust}} 64 - run: cargo build 65 - run: cargo test 66 - run: cargo test --features serde 67 - run: cargo test --features nanoserde 68 - run: cargo test --features miniserde 69 - run: cargo test --features borsh 70 71 clippy: 72 runs-on: ubuntu-latest 73 steps: 74 - uses: actions/checkout@v5 75 - uses: dtolnay/rust-toolchain@master 76 with: 77 toolchain: stable 78 components: clippy 79 - run: cargo clippy --workspace --tests --examples 80 - run: cargo clippy --workspace --tests --examples --features serde 81 - run: cargo clippy --workspace --tests --examples --features miniserde 82 - run: cargo clippy --workspace --tests --examples --features nanoserde 83 - run: cargo clippy --workspace --tests --examples --features borsh 84 85 docs: 86 runs-on: ubuntu-latest 87 env: 88 RUSTDOCFLAGS: -Dwarnings 89 steps: 90 - uses: actions/checkout@v5 91 - uses: dtolnay/rust-toolchain@master 92 with: 93 toolchain: stable 94 - uses: swatinem/rust-cache@v2 95 - run: cargo doc --workspace --no-deps