• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1name: CI
2
3on:
4  push:
5    branches: ['master', 'auto']
6  pull_request:
7
8jobs:
9  Test:
10    strategy:
11      matrix:
12        os: [ubuntu-latest]
13        rust: [1.36.0, stable, beta, nightly]
14    runs-on: ${{ matrix.os }}
15    steps:
16      - uses: actions/checkout@v2
17      - uses: actions-rs/toolchain@v1
18        with:
19          toolchain: ${{ matrix.rust }}
20          override: true
21          profile: minimal
22      - name: Unpin dependencies except on MSRV
23        if: matrix.rust != '1.36.0'
24        run: cargo update
25      - uses: actions-rs/cargo@v1
26        with:
27          command: build
28          args: --all-targets
29      - uses: actions-rs/cargo@v1
30        with:
31          command: test
32      - uses: actions-rs/cargo@v1
33        with:
34          command: test
35          args: --features "serde"
36      - uses: actions-rs/cargo@v1
37        with:
38          command: test
39          args: --no-default-features
40      - uses: actions-rs/cargo@v1
41        with:
42          command: test
43          args: --no-default-features --features=hardcoded-data
44  Fmt:
45    runs-on: ubuntu-latest
46    steps:
47      - uses: actions/checkout@v2
48      - uses: actions-rs/toolchain@v1
49        with:
50          toolchain: stable
51          override: true
52          components: rustfmt
53      - uses: actions-rs/cargo@v1
54        with:
55          command: fmt
56          args: --check
57
58  build_result:
59    name: homu build finished
60    runs-on: ubuntu-latest
61    needs:
62      - "Test"
63      - "Fmt"
64    steps:
65      - name: Mark the job as successful
66        run: exit 0
67        if: success()
68      - name: Mark the job as unsuccessful
69        run: exit 1
70        if: "!success()"
71