1a2e6e8b4Sopenharmony_ciname: CI
2a2e6e8b4Sopenharmony_ci
3a2e6e8b4Sopenharmony_cion:
4a2e6e8b4Sopenharmony_ci  push:
5a2e6e8b4Sopenharmony_ci  pull_request:
6a2e6e8b4Sopenharmony_ci  schedule: [cron: "40 1 * * *"]
7a2e6e8b4Sopenharmony_ci
8a2e6e8b4Sopenharmony_cipermissions:
9a2e6e8b4Sopenharmony_ci  contents: read
10a2e6e8b4Sopenharmony_ci
11a2e6e8b4Sopenharmony_cienv:
12a2e6e8b4Sopenharmony_ci  RUSTFLAGS: -Dwarnings
13a2e6e8b4Sopenharmony_ci
14a2e6e8b4Sopenharmony_cijobs:
15a2e6e8b4Sopenharmony_ci  test:
16a2e6e8b4Sopenharmony_ci    name: Rust ${{matrix.rust}} on ${{matrix.os}}
17a2e6e8b4Sopenharmony_ci    runs-on: ${{matrix.os}}-latest
18a2e6e8b4Sopenharmony_ci    strategy:
19a2e6e8b4Sopenharmony_ci      fail-fast: false
20a2e6e8b4Sopenharmony_ci      matrix:
21a2e6e8b4Sopenharmony_ci        rust: [nightly, beta, stable, 1.34.0]
22a2e6e8b4Sopenharmony_ci        os: [ubuntu, macos, windows]
23a2e6e8b4Sopenharmony_ci    timeout-minutes: 45
24a2e6e8b4Sopenharmony_ci    steps:
25a2e6e8b4Sopenharmony_ci      - uses: actions/checkout@v3
26a2e6e8b4Sopenharmony_ci      - uses: dtolnay/rust-toolchain@master
27a2e6e8b4Sopenharmony_ci        with:
28a2e6e8b4Sopenharmony_ci          toolchain: ${{matrix.rust}}
29a2e6e8b4Sopenharmony_ci      - run: cargo test
30a2e6e8b4Sopenharmony_ci
31a2e6e8b4Sopenharmony_ci  clippy:
32a2e6e8b4Sopenharmony_ci    name: Clippy
33a2e6e8b4Sopenharmony_ci    runs-on: ubuntu-latest
34a2e6e8b4Sopenharmony_ci    if: github.event_name != 'pull_request'
35a2e6e8b4Sopenharmony_ci    timeout-minutes: 45
36a2e6e8b4Sopenharmony_ci    steps:
37a2e6e8b4Sopenharmony_ci      - uses: actions/checkout@v3
38a2e6e8b4Sopenharmony_ci      - uses: dtolnay/rust-toolchain@clippy
39a2e6e8b4Sopenharmony_ci      - run: cargo clippy -- -Dclippy::all -Dclippy::pedantic
40a2e6e8b4Sopenharmony_ci
41a2e6e8b4Sopenharmony_ci  outdated:
42a2e6e8b4Sopenharmony_ci    name: Outdated
43a2e6e8b4Sopenharmony_ci    runs-on: ubuntu-latest
44a2e6e8b4Sopenharmony_ci    if: github.event_name != 'pull_request'
45a2e6e8b4Sopenharmony_ci    timeout-minutes: 45
46a2e6e8b4Sopenharmony_ci    steps:
47a2e6e8b4Sopenharmony_ci      - uses: actions/checkout@v3
48a2e6e8b4Sopenharmony_ci      - uses: dtolnay/install@cargo-outdated
49a2e6e8b4Sopenharmony_ci      - run: cargo outdated --workspace --exit-code 1
50