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