• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.8.0, 1.15.0, 1.20.0, 1.26.0, 1.31.0, stable, beta, nightly]
16    steps:
17      - name: Rust install
18        uses: actions-rs/toolchain@v1
19        with:
20          toolchain: ${{ matrix.rust }}
21          profile: minimal
22          override: true
23      - name: Checkout
24        uses: actions/checkout@v2
25      - name: Build
26        uses: actions-rs/cargo@v1
27        with:
28          command: build
29      - name: Test
30        run: ./ci/test_full.sh
31
32  # i586 presents floating point challenges for lack of SSE/SSE2
33  i586:
34    name: Test (i586)
35    runs-on: ubuntu-latest
36    steps:
37      - name: System install
38        run: |
39          sudo apt-get update
40          sudo apt-get install gcc-multilib
41      - name: Rust install
42        uses: actions-rs/toolchain@v1
43        with:
44          toolchain: stable
45          profile: minimal
46          override: true
47          target: i586-unknown-linux-gnu
48      - name: Checkout
49        uses: actions/checkout@v1
50      - name: Test
51        uses: actions-rs/cargo@v1
52        with:
53          command: test
54          args: --target i586-unknown-linux-gnu --all-features
55
56  # try a target that doesn't have std at all
57  no_std:
58    name: No Std
59    runs-on: ubuntu-latest
60    steps:
61      - name: Rust install
62        uses: actions-rs/toolchain@v1
63        with:
64          toolchain: stable
65          profile: minimal
66          override: true
67          target: thumbv6m-none-eabi
68      - name: Checkout
69        uses: actions/checkout@v1
70      - name: Build
71        uses: actions-rs/cargo@v1
72        with:
73          command: build
74          args: --target thumbv6m-none-eabi --no-default-features --features i128
75      - name: Build (libm)
76        uses: actions-rs/cargo@v1
77        with:
78          command: build
79          args: --target thumbv6m-none-eabi --no-default-features --features libm
80
81  fmt:
82    name: Format
83    runs-on: ubuntu-latest
84    steps:
85      - name: Rust install
86        uses: actions-rs/toolchain@v1
87        with:
88          toolchain: 1.42.0
89          profile: minimal
90          override: true
91          components: rustfmt
92      - name: Checkout
93        uses: actions/checkout@v2
94      - name: Check formatting
95        uses: actions-rs/cargo@v1
96        with:
97          command: fmt
98          args: --all -- --check
99