1f1555e47Sopenharmony_ciname: CI
2f1555e47Sopenharmony_cion:
3f1555e47Sopenharmony_ci  push:
4f1555e47Sopenharmony_ci    branches:
5f1555e47Sopenharmony_ci      - staging
6f1555e47Sopenharmony_ci      - trying
7f1555e47Sopenharmony_ci
8f1555e47Sopenharmony_cijobs:
9f1555e47Sopenharmony_ci
10f1555e47Sopenharmony_ci  test:
11f1555e47Sopenharmony_ci    name: Test
12f1555e47Sopenharmony_ci    runs-on: ubuntu-latest
13f1555e47Sopenharmony_ci    strategy:
14f1555e47Sopenharmony_ci      matrix:
15f1555e47Sopenharmony_ci        rust: [1.0.0, 1.5.0, 1.10.0, 1.15.0, 1.20.0, 1.25.0, 1.30.0, 1.35.0,
16f1555e47Sopenharmony_ci               1.40.0, 1.45.0, 1.50.0, 1.55.0, stable, beta, nightly]
17f1555e47Sopenharmony_ci    steps:
18f1555e47Sopenharmony_ci      - name: Checkout
19f1555e47Sopenharmony_ci        uses: actions/checkout@v2
20f1555e47Sopenharmony_ci      - name: Install
21f1555e47Sopenharmony_ci        uses: actions-rs/toolchain@v1
22f1555e47Sopenharmony_ci        with:
23f1555e47Sopenharmony_ci          toolchain: ${{ matrix.rust }}
24f1555e47Sopenharmony_ci          profile: minimal
25f1555e47Sopenharmony_ci          override: true
26f1555e47Sopenharmony_ci      - name: Build
27f1555e47Sopenharmony_ci        uses: actions-rs/cargo@v1
28f1555e47Sopenharmony_ci        with:
29f1555e47Sopenharmony_ci          command: build
30f1555e47Sopenharmony_ci          args: --verbose
31f1555e47Sopenharmony_ci      - name: Test
32f1555e47Sopenharmony_ci        uses: actions-rs/cargo@v1
33f1555e47Sopenharmony_ci        with:
34f1555e47Sopenharmony_ci          command: test
35f1555e47Sopenharmony_ci          args: --verbose
36f1555e47Sopenharmony_ci
37f1555e47Sopenharmony_ci  # try probing a target that doesn't have std at all
38f1555e47Sopenharmony_ci  no_std:
39f1555e47Sopenharmony_ci    name: No Std
40f1555e47Sopenharmony_ci    runs-on: ubuntu-latest
41f1555e47Sopenharmony_ci    steps:
42f1555e47Sopenharmony_ci      - name: Checkout
43f1555e47Sopenharmony_ci        uses: actions/checkout@v1
44f1555e47Sopenharmony_ci      - name: Install
45f1555e47Sopenharmony_ci        uses: actions-rs/toolchain@v1
46f1555e47Sopenharmony_ci        with:
47f1555e47Sopenharmony_ci          toolchain: stable
48f1555e47Sopenharmony_ci          target: thumbv6m-none-eabi
49f1555e47Sopenharmony_ci          profile: minimal
50f1555e47Sopenharmony_ci          override: true
51f1555e47Sopenharmony_ci      - name: Test
52f1555e47Sopenharmony_ci        env:
53f1555e47Sopenharmony_ci          TARGET: thumbv6m-none-eabi
54f1555e47Sopenharmony_ci        uses: actions-rs/cargo@v1
55f1555e47Sopenharmony_ci        with:
56f1555e47Sopenharmony_ci          command: test
57f1555e47Sopenharmony_ci          args: --verbose --lib
58f1555e47Sopenharmony_ci
59f1555e47Sopenharmony_ci  # we don't even need an installed target for version checks
60f1555e47Sopenharmony_ci  missing_target:
61f1555e47Sopenharmony_ci    name: Missing Target
62f1555e47Sopenharmony_ci    runs-on: ubuntu-latest
63f1555e47Sopenharmony_ci    steps:
64f1555e47Sopenharmony_ci      - name: Checkout
65f1555e47Sopenharmony_ci        uses: actions/checkout@v1
66f1555e47Sopenharmony_ci      - name: Install
67f1555e47Sopenharmony_ci        uses: actions-rs/toolchain@v1
68f1555e47Sopenharmony_ci        with:
69f1555e47Sopenharmony_ci          toolchain: stable
70f1555e47Sopenharmony_ci          profile: minimal
71f1555e47Sopenharmony_ci          override: true
72f1555e47Sopenharmony_ci      - name: Test
73f1555e47Sopenharmony_ci        env:
74f1555e47Sopenharmony_ci          TARGET: thumbv6m-none-eabi
75f1555e47Sopenharmony_ci        uses: actions-rs/cargo@v1
76f1555e47Sopenharmony_ci        with:
77f1555e47Sopenharmony_ci          command: test
78f1555e47Sopenharmony_ci          args: --verbose --lib -- version
79f1555e47Sopenharmony_ci
80f1555e47Sopenharmony_ci  fmt:
81f1555e47Sopenharmony_ci    name: Format
82f1555e47Sopenharmony_ci    runs-on: ubuntu-latest
83f1555e47Sopenharmony_ci    steps:
84f1555e47Sopenharmony_ci      - name: Checkout
85f1555e47Sopenharmony_ci        uses: actions/checkout@v2
86f1555e47Sopenharmony_ci      - name: Install
87f1555e47Sopenharmony_ci        uses: actions-rs/toolchain@v1
88f1555e47Sopenharmony_ci        with:
89f1555e47Sopenharmony_ci          profile: minimal
90f1555e47Sopenharmony_ci          toolchain: 1.58.1
91f1555e47Sopenharmony_ci          override: true
92f1555e47Sopenharmony_ci          components: rustfmt
93f1555e47Sopenharmony_ci      - name: Check formatting
94f1555e47Sopenharmony_ci        uses: actions-rs/cargo@v1
95f1555e47Sopenharmony_ci        with:
96f1555e47Sopenharmony_ci          command: fmt
97f1555e47Sopenharmony_ci          args: --all -- --check
98