-
Notifications
You must be signed in to change notification settings - Fork 23
137 lines (115 loc) · 2.93 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
name: CI
on:
push:
branches:
- master
pull_request:
jobs:
unit_tests:
name: Unit Tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: cargo test
uses: actions-rs/cargo@v1
with:
command: test
- name: cargo test --features serde
uses: actions-rs/cargo@v1
with:
command: test
args: --features serde
- name: cargo test --features regex
uses: actions-rs/cargo@v1
with:
command: test
args: --features regex
- name: cargo test --features new_unchecked
uses: actions-rs/cargo@v1
with:
command: test
args: --features new_unchecked
- name: cargo test --features arbitrary
uses: actions-rs/cargo@v1
with:
command: test
args: --features arbitrary
- name: cargo test --features schemars08
uses: actions-rs/cargo@v1
with:
command: test
args: --features schemars08
- name: cargo test --all-features
uses: actions-rs/cargo@v1
with:
command: test
args: --all-features
rustfmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: rustfmt
- name: Check formatting
uses: actions-rs/cargo@v1
with:
command: fmt
args: -- --check
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: clippy
- name: Clippy Check
uses: actions-rs/cargo@v1
with:
command: clippy
args: -- -D warnings
examples:
name: Examples
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: thumbv7m-none-eabi # Needed for no_std_example
- name: Run examples
run: |
set -euxo pipefail
ROOT_DIR=$(pwd)
for EXAMPLE in `ls examples`; do
cd $ROOT_DIR/examples/$EXAMPLE;
if [[ "$EXAMPLE" == "no_std_example" ]]
then
cargo build
else
cargo run
fi
done
typos:
name: Typos
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: typos-action
uses: crate-ci/[email protected]