-
Notifications
You must be signed in to change notification settings - Fork 0
142 lines (121 loc) · 4.03 KB
/
nightly.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
141
142
on: [push, pull_request]
name: Nightly
env:
RUSTFLAGS: "-D warnings"
RUSTDOCFLAGS: "--cfg docsrs"
TOOLCHAIN: "nightly"
jobs:
quiche:
runs-on: ubuntu-latest
# Only run on "pull_request" event for external PRs. This is to avoid
# duplicate builds for PRs created from internal branches.
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
steps:
- name: Checkout sources
uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Install nightly toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ env.TOOLCHAIN }}
components: rustfmt
override: true
- name: Run cargo fmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: -- --check
- name: Run cargo test
uses: actions-rs/cargo@v1
with:
command: test
args: --verbose --all-targets --features=ffi,qlog
# Need to run doc tests separately.
# (https://github.com/rust-lang/cargo/issues/6669)
- name: Run cargo doc test
uses: actions-rs/cargo@v1
with:
command: test
args: --verbose --doc --features=ffi,qlog
- name: Run cargo package
uses: actions-rs/cargo@v1
with:
command: package
args: --verbose --workspace --exclude=quiche_apps --allow-dirty
- name: Run cargo doc
uses: actions-rs/cargo@v1
with:
command: doc
args: --no-deps --all-features --document-private-items
- name: Build C examples
run: |
sudo apt-get install libev-dev uthash-dev
make -C quiche/examples
fuzz:
runs-on: ubuntu-latest
# Only run on "pull_request" event for external PRs. This is to avoid
# duplicate builds for PRs created from internal branches.
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
steps:
- name: Checkout sources
uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Install nightly toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ env.TOOLCHAIN }}
components: rustfmt
override: true
- name: Install cargo-fuzz
run: cargo install cargo-fuzz
- name: Run cargo fuzz for packet_recv_client
uses: actions-rs/cargo@v1
with:
command: fuzz
args: run packet_recv_client -- -runs=1
- name: Run cargo fuzz for packet_recv_server
uses: actions-rs/cargo@v1
with:
command: fuzz
args: run packet_recv_server -- -runs=1
- name: Run cargo fuzz for qpack_decode
uses: actions-rs/cargo@v1
with:
command: fuzz
args: run qpack_decode -- -runs=1
- name: Run cargo fmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --manifest-path=fuzz/Cargo.toml -- --check
http3_test:
runs-on: ubuntu-latest
# Only run on "pull_request" event for external PRs. This is to avoid
# duplicate builds for PRs created from internal branches.
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
steps:
- name: Checkout sources
uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Install nightly toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ env.TOOLCHAIN }}
components: rustfmt
override: true
- name: Run cargo test
uses: actions-rs/cargo@v1
with:
command: test
args: --no-run --verbose --manifest-path=tools/http3_test/Cargo.toml
- name: Run cargo fmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --manifest-path=tools/http3_test/Cargo.toml -- --check