1name: CI 2on: [push, pull_request] 3 4jobs: 5 test: 6 name: Test 7 runs-on: ${{ matrix.os }} 8 strategy: 9 matrix: 10 build: [stable, beta, nightly, macos, win32, win64, mingw] 11 include: 12 - build: stable 13 os: ubuntu-latest 14 rust: stable 15 - build: beta 16 os: ubuntu-latest 17 rust: beta 18 - build: nightly 19 os: ubuntu-latest 20 rust: nightly 21 - build: macos 22 os: macos-latest 23 rust: stable 24 - build: win32 25 os: windows-latest 26 rust: stable-i686 27 - build: win64 28 os: windows-latest 29 rust: stable-x86_64 30 - build: mingw 31 os: windows-latest 32 rust: stable-x86_64-gnu 33 steps: 34 - uses: actions/checkout@master 35 - name: Install Rust (rustup) 36 run: | 37 rustup update ${{ matrix.rust }} --no-self-update 38 rustup default ${{ matrix.rust }} 39 - run: cargo test --verbose 40 - run: cargo test --verbose --features serde 41 - run: cargo test --verbose --features std 42 - run: cargo test --verbose --features kv_unstable 43 - run: cargo test --verbose --features kv_unstable_sval 44 - run: cargo test --verbose --features kv_unstable_serde 45 - run: cargo test --verbose --features "kv_unstable kv_unstable_std kv_unstable_sval kv_unstable_serde" 46 - run: cargo run --verbose --manifest-path test_max_level_features/Cargo.toml 47 - run: cargo run --verbose --manifest-path test_max_level_features/Cargo.toml --release 48 49 rustfmt: 50 name: Rustfmt 51 runs-on: ubuntu-latest 52 steps: 53 - uses: actions/checkout@master 54 - name: Install Rust 55 run: | 56 rustup update stable --no-self-update 57 rustup default stable 58 rustup component add rustfmt 59 - run: cargo fmt -- --check 60 61 features: 62 name: Feature check 63 runs-on: ubuntu-latest 64 steps: 65 - uses: actions/checkout@master 66 - name: Install Rust 67 run: | 68 rustup update nightly --no-self-update 69 rustup default nightly 70 - run: cargo build --verbose -Z avoid-dev-deps --features kv_unstable 71 - run: cargo build --verbose -Z avoid-dev-deps --features "kv_unstable std" 72 - run: cargo build --verbose -Z avoid-dev-deps --features "kv_unstable kv_unstable_sval" 73 - run: cargo build --verbose -Z avoid-dev-deps --features "kv_unstable kv_unstable_serde" 74 - run: cargo build --verbose -Z avoid-dev-deps --features "kv_unstable kv_unstable_std" 75 - run: cargo build --verbose -Z avoid-dev-deps --features "kv_unstable kv_unstable_sval kv_unstable_serde" 76 77 msrv: 78 name: MSRV 79 runs-on: ubuntu-latest 80 steps: 81 - uses: actions/checkout@master 82 - name: Install Rust 83 run: | 84 rustup update 1.31.0 --no-self-update 85 rustup default 1.31.0 86 - run: cargo build --verbose 87 - run: cargo build --verbose --features serde 88 - run: cargo build --verbose --features std 89 - run: cargo test --verbose --manifest-path tests/Cargo.toml 90 91 embedded: 92 name: Embedded 93 runs-on: ubuntu-latest 94 steps: 95 - uses: actions/checkout@master 96 - name: Install Rust 97 run: | 98 rustup update stable --no-self-update 99 rustup default stable 100 - run: rustup target add thumbv6m-none-eabi riscv32imc-unknown-none-elf 101 - run: cargo build --verbose --target=thumbv6m-none-eabi 102 - run: cargo build --verbose --target=riscv32imc-unknown-none-elf 103