• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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