-
Notifications
You must be signed in to change notification settings - Fork 3
138 lines (129 loc) · 3.33 KB
/
rust.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
137
138
name: CI
on:
push:
branches: ['main']
pull_request:
schedule:
- cron: "21 3 * * 5"
jobs:
# TODO(nmittler): Investigate why tests get "unknown CA" on windows.
# test-windows:
# name: test (windows-latest, stable)
# runs-on: windows-latest
#
# steps:
# - name: Checkout source
# uses: actions/checkout@v2
# with:
# submodules: 'recursive'
# - name: Install nasm
# uses: crazy-max/ghaction-chocolatey@v1
# with:
# args: install nasm
# - name: Install rust toolchain
# uses: actions-rs/toolchain@v1
# with:
# profile: minimal
# toolchain: stable
# override: true
# - name: Cargo Build
# uses: actions-rs/cargo@v1
# with:
# command: build
# args: --all-targets
# - name: Cargo Test
# uses: actions-rs/cargo@v1
# with:
# command: test
# args: --verbose --all-targets
test:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
rust: [stable, beta]
exclude:
- os: macos-latest
rust: beta
runs-on: ${{ matrix.os }}
steps:
- name: Checkout source
uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: Install rust toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.rust }}
override: true
- name: Cargo Build
uses: actions-rs/cargo@v1
with:
command: build
args: --all-targets
- name: Cargo Test
uses: actions-rs/cargo@v1
with:
command: test
# TODO(nmittler): Investigate build issues.
# test-fips:
# name: test fips
# runs-on: ubuntu-20.04
# steps:
# - name: Checkout source
# uses: actions/checkout@v2
# with:
# submodules: 'recursive'
# - name: Install Clang 7
# uses: egor-tensin/setup-clang@v1
# with:
# version: "7"
# - name: Install rust toolchain
# uses: actions-rs/toolchain@v1
# with:
# profile: minimal
# toolchain: stable
# override: true
# - name: Cargo Build
# uses: actions-rs/cargo@v1
# with:
# command: build
# args: --all-targets --features fips
# - name: Cargo Test
# uses: actions-rs/cargo@v1
# with:
# command: test
# args: --features fips
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: Install rust toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy
- name: Cargo fmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
- name: Cargo clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: --all-targets -- -D warnings
- name: Cargo doc
run: cargo doc --no-deps --document-private-items
env:
RUSTDOCFLAGS: -Dwarnings
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: EmbarkStudios/cargo-deny-action@v1