-
Notifications
You must be signed in to change notification settings - Fork 1
136 lines (99 loc) · 2.73 KB
/
Copy pathci.yml
File metadata and controls
136 lines (99 loc) · 2.73 KB
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: Tests and Lints
on:
push:
pull_request:
env:
RUSTFLAGS: "-Dwarnings"
RUSTDOCFLAGS: "-Dwarnings"
jobs:
rust_check:
name: Rust check
runs-on: ubuntu-latest
strategy:
fail-fast: true
steps:
- uses: actions/checkout@v3
- name: Install toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: cargo check
run: cargo check --bins --tests --all-features
rust_format:
name: Rust format
runs-on: ubuntu-latest
strategy:
fail-fast: true
steps:
- uses: actions/checkout@v3
- name: Install toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: rustfmt
- name: cargo format
uses: actions-rust-lang/rustfmt@v1
rust_check_default_features:
name: Rust check with default features
runs-on: ubuntu-latest
needs: ["rust_check", "rust_format"]
strategy:
fail-fast: true
steps:
- uses: actions/checkout@v3
- name: Install toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: cargo check
run: cargo check --bins --tests
rust_lint:
name: Rust lint
runs-on: ubuntu-latest
needs: ["rust_check", "rust_format"]
strategy:
fail-fast: true
matrix:
toolchain: [null, "stable", "beta", "nightly"]
steps:
- uses: actions/checkout@v3
- name: Install toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: clippy
toolchain: ${{matrix.toolchain}}
- name: cargo clippy
run: cargo clippy --bins --tests --all-features
rust_test:
name: Rust test
runs-on: ubuntu-latest
needs: ["rust_check", "rust_format"]
strategy:
fail-fast: true
steps:
- uses: actions/checkout@v3
- name: Install toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: cargo test
run: cargo test --all-features
rust_doc:
name: Rust doc
runs-on: ubuntu-latest
needs: ["rust_check", "rust_format"]
strategy:
fail-fast: true
steps:
- uses: actions/checkout@v3
- name: Install toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: cargo doc
run: cargo doc --all-features
rust_check_os_compatiblity:
name: Rust check
runs-on: ${{ matrix.runner }}
needs: ["rust_check", "rust_format"]
strategy:
fail-fast: true
matrix:
runner: [windows-latest, macos-latest]
steps:
- uses: actions/checkout@v3
- name: Install toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: cargo check
run: cargo check --bins --tests --all-features