-
Notifications
You must be signed in to change notification settings - Fork 35
140 lines (137 loc) · 4.08 KB
/
main.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
139
140
---
name: neli CI
on:
push:
branches: [main, v0.6.x]
pull_request:
branches: [main, v0.6.x]
workflow_dispatch:
jobs:
clippy:
strategy:
matrix:
task:
- cargo clippy --all-targets --all-features -- -D warnings
- (cd neli-proc-macros && cargo clippy --all-targets -- -D warnings)
toolchain:
- nightly
- stable
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
components: clippy
toolchain: ${{ matrix.toolchain }}
override: true
- name: Test ${{ matrix.task }} on ${{ matrix.toolchain }} toolchain
run: ${{ matrix.task }}
glibc-checks:
strategy:
matrix:
task:
- cargo fmt -- --check
- cargo build
- RUSTDOCFLAGS="-D warnings" cargo doc
- cargo build --features=async
- cargo build --all-features
- cargo build --examples
- cargo build --examples --all-features
- cargo test --all-features
- (cd neli-proc-macros && cargo fmt -- --check)
- (cd neli-proc-macros && RUSTDOCFLAGS="-D warnings" cargo doc)
- (cd neli-proc-macros && cargo build)
- (cd neli-proc-macros && cargo test)
toolchain:
- nightly
- stable
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
components: rustfmt
toolchain: ${{ matrix.toolchain }}
override: true
- name: Test ${{ matrix.task }} on ${{ matrix.toolchain }} toolchain
run: ${{ matrix.task }}
glibc-examples:
strategy:
matrix:
toolchain:
- nightly
- stable
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
components: cargo
toolchain: ${{ matrix.toolchain }}
override: true
- name: Build examples
run: cargo build --examples
- name: Run getips
run: ./target/debug/examples/getips
- name: Run ctrl-list
run: ./target/debug/examples/ctrl-list
- name: Run route-list
run: ./target/debug/examples/route-list
- name: Run error_packet
run: ./target/debug/examples/error_packet
# nl80211 not included due to no wireless interfaces on test machines
musl-checks:
strategy:
matrix:
task:
- cargo build
- cargo build --features=async
- cargo build --all-features
- cargo build --examples
- cargo build --examples --all-features
- cargo test --all-features
toolchain:
- nightly
- stable
runs-on: ubuntu-latest
container: alpine
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: apk add --no-cache gcc libc6-compat musl-dev
- uses: actions-rs/toolchain@v1
with:
components: cargo
toolchain: ${{ matrix.toolchain }}
override: true
- name: Test ${{ matrix.task }} on ${{ matrix.toolchain }} toolchain
run: ${{ matrix.task }}
musl-examples:
strategy:
matrix:
toolchain:
- nightly
- stable
runs-on: ubuntu-latest
container: alpine
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: apk add --no-cache gcc libc6-compat musl-dev
- uses: actions-rs/toolchain@v1
with:
components: cargo
toolchain: ${{ matrix.toolchain }}
override: true
- name: Build examples
run: cargo build --examples
- name: Run getips
run: ./target/debug/examples/getips
- name: Run ctrl-list
run: ./target/debug/examples/ctrl-list
- name: Run route-list
run: ./target/debug/examples/route-list
- name: Run error_packet
run: ./target/debug/examples/error_packet
# nl80211 not included due to no wireless interfaces on test machines