• 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 --no-default-features
41    - run: cargo test --verbose --all-features
42    - run: cargo test --verbose --features serde
43    - run: cargo test --verbose --features std
44    - run: cargo test --verbose --features kv_unstable
45    - run: cargo test --verbose --features kv_unstable_sval
46    - run: cargo test --verbose --features kv_unstable_serde
47    - run: cargo test --verbose --features "kv_unstable kv_unstable_std kv_unstable_sval kv_unstable_serde"
48    - run: cargo run --verbose --manifest-path test_max_level_features/Cargo.toml
49    - run: cargo run --verbose --manifest-path test_max_level_features/Cargo.toml --release
50
51  rustfmt:
52    name: Rustfmt
53    runs-on: ubuntu-latest
54    steps:
55    - uses: actions/checkout@master
56    - name: Install Rust
57      run: |
58        rustup update stable --no-self-update
59        rustup default stable
60        rustup component add rustfmt
61    - run: cargo fmt -- --check
62
63  features:
64    name: Feature check
65    runs-on: ubuntu-latest
66    steps:
67      - uses: actions/checkout@master
68      - name: Install Rust
69        run: |
70          rustup update nightly --no-self-update
71          rustup default nightly
72      - run: cargo build --verbose -Z avoid-dev-deps --features kv_unstable
73      - run: cargo build --verbose -Z avoid-dev-deps --features "kv_unstable std"
74      - run: cargo build --verbose -Z avoid-dev-deps --features "kv_unstable kv_unstable_sval"
75      - run: cargo build --verbose -Z avoid-dev-deps --features "kv_unstable kv_unstable_serde"
76      - run: cargo build --verbose -Z avoid-dev-deps --features "kv_unstable kv_unstable_std"
77      - run: cargo build --verbose -Z avoid-dev-deps --features "kv_unstable kv_unstable_sval kv_unstable_serde"
78
79  minimalv:
80    name: Minimal versions
81    runs-on: ubuntu-latest
82    steps:
83      - uses: actions/checkout@master
84      - name: Install Rust
85        run: |
86          rustup update nightly --no-self-update
87          rustup default nightly
88      - run: cargo build --verbose -Z minimal-versions --features kv_unstable
89      - run: cargo build --verbose -Z minimal-versions --features "kv_unstable std"
90      - run: cargo build --verbose -Z minimal-versions --features "kv_unstable kv_unstable_sval"
91      - run: cargo build --verbose -Z minimal-versions --features "kv_unstable kv_unstable_serde"
92      - run: cargo build --verbose -Z minimal-versions --features "kv_unstable kv_unstable_std"
93      - run: cargo build --verbose -Z minimal-versions --features "kv_unstable kv_unstable_sval kv_unstable_serde"
94
95  msrv:
96    name: MSRV
97    runs-on: ubuntu-latest
98    steps:
99      - uses: actions/checkout@master
100      - name: Install Rust
101        run: |
102          rustup update 1.31.0 --no-self-update
103          rustup default 1.31.0
104      - run: cargo build --verbose
105      - run: cargo build --verbose --features serde
106      - run: cargo build --verbose --features std
107      - run: cargo test --verbose --manifest-path tests/Cargo.toml
108
109  embedded:
110    name: Embedded
111    runs-on: ubuntu-latest
112    steps:
113      - uses: actions/checkout@master
114      - name: Install Rust
115        run: |
116          rustup update stable --no-self-update
117          rustup default stable
118      - run: rustup target add thumbv6m-none-eabi riscv32imc-unknown-none-elf
119      - run: cargo build --verbose --target=thumbv6m-none-eabi
120      - run: cargo build --verbose --target=riscv32imc-unknown-none-elf
121