14669f6dcSopenharmony_cion:
24669f6dcSopenharmony_ci  push:
34669f6dcSopenharmony_ci    branches: [ master ]
44669f6dcSopenharmony_ci  pull_request:
54669f6dcSopenharmony_ci    branches: [ master ]
64669f6dcSopenharmony_ci
74669f6dcSopenharmony_ciname: CI
84669f6dcSopenharmony_ci
94669f6dcSopenharmony_cijobs:
104669f6dcSopenharmony_ci  ci:
114669f6dcSopenharmony_ci    runs-on: ubuntu-latest
124669f6dcSopenharmony_ci    strategy:
134669f6dcSopenharmony_ci      fail-fast: false
144669f6dcSopenharmony_ci      matrix:
154669f6dcSopenharmony_ci        rust:
164669f6dcSopenharmony_ci          - 1.36.0  # MSRV
174669f6dcSopenharmony_ci          - stable
184669f6dcSopenharmony_ci          - beta
194669f6dcSopenharmony_ci          - nightly
204669f6dcSopenharmony_ci        features:
214669f6dcSopenharmony_ci          - ""
224669f6dcSopenharmony_ci          - "serde"
234669f6dcSopenharmony_ci
244669f6dcSopenharmony_ci    steps:
254669f6dcSopenharmony_ci      - name: Checkout
264669f6dcSopenharmony_ci        uses: actions/checkout@v3
274669f6dcSopenharmony_ci
284669f6dcSopenharmony_ci      - name: Set up Rust
294669f6dcSopenharmony_ci        uses: dtolnay/rust-toolchain@master
304669f6dcSopenharmony_ci        with:
314669f6dcSopenharmony_ci          toolchain: ${{ matrix.rust }}
324669f6dcSopenharmony_ci
334669f6dcSopenharmony_ci      - name: Build (no_std)
344669f6dcSopenharmony_ci        run: cargo build --no-default-features
354669f6dcSopenharmony_ci
364669f6dcSopenharmony_ci      - name: Build
374669f6dcSopenharmony_ci        run: cargo build --features "${{ matrix.features }}"
384669f6dcSopenharmony_ci
394669f6dcSopenharmony_ci      - name: Test
404669f6dcSopenharmony_ci        run: cargo test --features "${{ matrix.features }}"
414669f6dcSopenharmony_ci
424669f6dcSopenharmony_ci      - name: Doc
434669f6dcSopenharmony_ci        run: cargo doc --features "${{ matrix.features }}"
444669f6dcSopenharmony_ci
454669f6dcSopenharmony_ci  clippy:
464669f6dcSopenharmony_ci    name: Rustfmt and Clippy
474669f6dcSopenharmony_ci    runs-on: ubuntu-latest
484669f6dcSopenharmony_ci    steps:
494669f6dcSopenharmony_ci      - name: Checkout
504669f6dcSopenharmony_ci        uses: actions/checkout@v3
514669f6dcSopenharmony_ci
524669f6dcSopenharmony_ci      - name: Set up nightly Rust
534669f6dcSopenharmony_ci        uses: dtolnay/rust-toolchain@nightly
544669f6dcSopenharmony_ci        with:
554669f6dcSopenharmony_ci          components: rustfmt, clippy
564669f6dcSopenharmony_ci
574669f6dcSopenharmony_ci      - name: Rustfmt
584669f6dcSopenharmony_ci        run: cargo fmt --all -- --check
594669f6dcSopenharmony_ci
604669f6dcSopenharmony_ci      - name: Clippy
614669f6dcSopenharmony_ci        run: cargo clippy  # -- -D warnings
62