Skip to content

Commit 8954a64

Browse files
chore: merge upstream (#194)
Updates up to quinn-rs@8bf6825
2 parents 3d7621f + 38e61b5 commit 8954a64

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1465
-456
lines changed

.github/workflows/codecov.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
os: [ubuntu-latest, macos-latest, windows-latest]
1212
runs-on: ${{ matrix.os }}
1313
steps:
14-
- uses: actions/checkout@v5
14+
- uses: actions/checkout@v6
1515
- uses: dtolnay/rust-toolchain@stable
1616
- uses: taiki-e/install-action@cargo-llvm-cov
1717
- shell: bash
@@ -27,7 +27,7 @@ jobs:
2727
# | paste -sd ',' -
2828
run: |
2929
cargo llvm-cov \
30-
--features="arbitrary,async-io,aws-lc-rs,bloom,direct-log,fast-apple-datapath,futures-io,json-output,lock_tracking,log,platform-verifier,qlog,ring,runtime-smol,runtime-tokio,rustls,rustls-aws-lc-rs,rustls-log,rustls-ring,serde,serde_json,smol,tracing" \
30+
--features="arbitrary,async-io,aws-lc-rs,bloom,log,fast-apple-datapath,futures-io,json-output,lock_tracking,tracing-log,platform-verifier,qlog,ring,runtime-smol,runtime-tokio,rustls,rustls-aws-lc-rs,rustls-log,rustls-ring,serde,serde_json,smol,tracing" \
3131
--workspace --lcov --output-path lcov.info
3232
- name: Upload coverage to Codecov
3333
uses: codecov/codecov-action@v5

.github/workflows/rust.yml

Lines changed: 92 additions & 113 deletions
Original file line numberDiff line numberDiff line change
@@ -6,99 +6,74 @@ on:
66
pull_request:
77

88
jobs:
9-
# test-freebsd:
10-
# # see https://github.com/actions/runner/issues/385
11-
# # use https://github.com/vmactions/freebsd-vm for now
12-
# name: test on freebsd
13-
# runs-on: ubuntu-latest
14-
# steps:
15-
# - uses: actions/checkout@v5
16-
# - name: test on freebsd
17-
# uses: vmactions/freebsd-vm@v1
18-
# with:
19-
# usesh: true
20-
# mem: 4096
21-
# copyback: false
22-
# prepare: |
23-
# pkg install -y curl
24-
# curl https://sh.rustup.rs -sSf --output rustup.sh
25-
# sh rustup.sh -y --profile minimal --default-toolchain stable
26-
# run: |
27-
# export PATH="$HOME/.cargo/bin:$PATH"
28-
# echo "===== rustc --version ====="
29-
# rustc --version
30-
# echo "===== freebsd-version ====="
31-
# freebsd-version
9+
test-freebsd:
10+
# see https://github.com/actions/runner/issues/385
11+
# use https://github.com/vmactions/freebsd-vm for now
12+
name: test on freebsd
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v6
16+
- name: test on freebsd
17+
uses: vmactions/freebsd-vm@v1
18+
with:
19+
usesh: true
20+
mem: 4096
21+
copyback: false
22+
prepare: |
23+
pkg install -y curl
24+
curl https://sh.rustup.rs -sSf --output rustup.sh
25+
sh rustup.sh -y --profile minimal --default-toolchain stable
26+
run: |
27+
export PATH="$HOME/.cargo/bin:$PATH"
28+
echo "===== rustc --version ====="
29+
rustc --version
30+
echo "===== freebsd-version ====="
31+
freebsd-version
3232
3333
# cargo build --locked --all-targets && cargo test --locked && cargo test --locked -- --ignored stress && cargo test --locked --manifest-path fuzz/Cargo.toml && cargo test --locked -p iroh-quinn-udp --benches
3434

35-
# test-netbsd:
36-
# name: test on netbsd
37-
# runs-on: ubuntu-latest
38-
# steps:
39-
# - uses: actions/checkout@v5
40-
# - name: test on netbsd
41-
# uses: vmactions/netbsd-vm@v1
42-
# with:
43-
# usesh: true
44-
# mem: 4096
45-
# copyback: false
46-
# prepare: |
47-
# export PATH="/usr/sbin:/sbin:$PATH"
48-
# pkg_add curl
49-
# curl https://sh.rustup.rs -sSf --output rustup.sh
50-
# sh rustup.sh -y --profile minimal --default-toolchain stable
51-
# run: |
52-
# export PATH="$HOME/.cargo/bin:$PATH"
53-
# echo "===== rustc --version ====="
54-
# rustc --version
55-
# echo "===== uname -a ====="
56-
# uname -a
57-
58-
# cargo build --locked --all-targets && cargo test --locked && cargo test --locked -- --ignored stress && cargo test --locked --manifest-path fuzz/Cargo.toml && cargo test --locked -p iroh-quinn-udp --benches
35+
test-solaris:
36+
name: test on solaris
37+
runs-on: ubuntu-latest
38+
steps:
39+
- uses: actions/checkout@v6
40+
- name: test on Solaris
41+
uses: vmactions/solaris-vm@v1
42+
with:
43+
release: "11.4-gcc"
44+
usesh: true
45+
mem: 4096
46+
copyback: false
47+
prepare: |
48+
source <(curl -s https://raw.githubusercontent.com/psumbera/solaris-rust/refs/heads/main/sh.rust-web-install)
49+
echo "~~~~ rustc --version ~~~~"
50+
rustc --version
51+
echo "~~~~ Solaris-version ~~~~"
52+
uname -a
53+
# Unlike others, don't un-ignore stress tests, because they hang on Solaris
54+
run: |
55+
export PATH=$HOME/.rust_solaris/bin:$PATH
56+
# Workaround for https://github.com/quinn-rs/quinn/issues/2218
57+
export CARGO_HTTP_MULTIPLEXING=false
58+
cargo build --locked --all-targets && cargo test --locked --manifest-path fuzz/Cargo.toml && cargo test --locked -p iroh-quinn-udp --benches
5959
60-
# test-solaris:
61-
# name: test on solaris
62-
# runs-on: ubuntu-latest
63-
# steps:
64-
# - uses: actions/checkout@v5
65-
# - name: test on Solaris
66-
# uses: vmactions/solaris-vm@v1
67-
# with:
68-
# release: "11.4-gcc"
69-
# usesh: true
70-
# mem: 4096
71-
# copyback: false
72-
# prepare: |
73-
# source <(curl -s https://raw.githubusercontent.com/psumbera/solaris-rust/refs/heads/main/sh.rust-web-install)
74-
# echo "~~~~ rustc --version ~~~~"
75-
# rustc --version
76-
# echo "~~~~ Solaris-version ~~~~"
77-
# uname -a
78-
# # Unlike others, don't un-ignore stress tests, because they hang on Solaris
79-
# run: |
80-
# export PATH=$HOME/.rust_solaris/bin:$PATH
81-
# # Workaround for https://github.com/quinn-rs/quinn/issues/2218
82-
# export CARGO_HTTP_MULTIPLEXING=false
83-
# cargo build --locked --all-targets && cargo test --locked --manifest-path fuzz/Cargo.toml && cargo test --locked -p quinn-udp --benches
84-
#
85-
# test-illumos:
86-
# name: test on illumos
87-
# runs-on: ubuntu-latest
88-
# steps:
89-
# - uses: actions/checkout@v5
90-
# - name: test on Illumos
91-
# uses: vmactions/omnios-vm@v1
92-
# with:
93-
# usesh: true
94-
# mem: 4096
95-
# copyback: false
96-
# prepare: |
97-
# pkg install gcc14 curl pkg-config glib2
98-
# curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal
99-
# run: |
100-
# . "$HOME/.cargo/env"
101-
# cargo build --locked --all-targets && cargo test --locked && cargo test --locked -- --ignored stress && cargo test --locked --manifest-path fuzz/Cargo.toml && cargo test --locked -p iroh-quinn-udp --benches
60+
test-illumos:
61+
name: test on illumos
62+
runs-on: ubuntu-latest
63+
steps:
64+
- uses: actions/checkout@v6
65+
- name: test on Illumos
66+
uses: vmactions/omnios-vm@v1
67+
with:
68+
usesh: true
69+
mem: 4096
70+
copyback: false
71+
prepare: |
72+
pkg install gcc14 curl pkg-config glib2
73+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal
74+
run: |
75+
. "$HOME/.cargo/env"
76+
cargo build --locked --all-targets && cargo test --locked && cargo test --locked -- --ignored stress && cargo test --locked --manifest-path fuzz/Cargo.toml && cargo test --locked -p iroh-quinn-udp --benches
10277
10378
test:
10479
strategy:
@@ -119,7 +94,7 @@ jobs:
11994
SCCACHE_GHA_ENABLED: "on"
12095

12196
steps:
122-
- uses: actions/checkout@v5
97+
- uses: actions/checkout@v6
12398
- uses: mozilla-actions/sccache-action@v0.0.9
12499
- uses: dtolnay/rust-toolchain@master
125100
with:
@@ -139,32 +114,34 @@ jobs:
139114
test-aws-lc-rs:
140115
runs-on: ubuntu-latest
141116
steps:
142-
- uses: actions/checkout@v5
117+
- uses: actions/checkout@v6
143118
- uses: dtolnay/rust-toolchain@stable
144119
- uses: Swatinem/rust-cache@v2
145120
# Prevent feature unification from selecting *ring* as the crypto provider
146121
- run: RUST_BACKTRACE=1 cargo test --locked --manifest-path quinn-proto/Cargo.toml --no-default-features --features rustls-aws-lc-rs
147122
- run: RUST_BACKTRACE=1 cargo test --locked --manifest-path quinn/Cargo.toml --no-default-features --features rustls-aws-lc-rs,runtime-tokio
123+
- run: RUST_BACKTRACE=1 cargo test --locked --manifest-path quinn/Cargo.toml --no-default-features --features rustls-aws-lc-rs,runtime-tokio,__rustls-post-quantum-test
148124
# FIPS
149125
- run: RUST_BACKTRACE=1 cargo test --locked --manifest-path quinn-proto/Cargo.toml --no-default-features --features rustls-aws-lc-rs-fips
150126
- run: RUST_BACKTRACE=1 cargo test --locked --manifest-path quinn/Cargo.toml --no-default-features --features rustls-aws-lc-rs-fips,runtime-tokio
127+
- run: RUST_BACKTRACE=1 cargo test --locked --manifest-path quinn/Cargo.toml --no-default-features --features rustls-aws-lc-rs-fips,__rustls-post-quantum-test,runtime-tokio
151128

152129
wasm_test:
153130
name: test wasm32-unknown-unknown
154131
runs-on: ubuntu-latest
155132
steps:
156-
- uses: actions/checkout@v5
133+
- uses: actions/checkout@v6
157134
- uses: dtolnay/rust-toolchain@stable
158135
- run: rustup target add wasm32-unknown-unknown
159-
- uses: actions/setup-node@v4
136+
- uses: actions/setup-node@v6
160137
with:
161138
node-version: 20
162139
- uses: bytecodealliance/actions/wasm-tools/setup@v1
163140
- uses: cargo-bins/cargo-binstall@main
164141

165142
- run: cargo test --locked -p iroh-quinn-proto --target wasm32-unknown-unknown --no-run
166143
- run: cargo check --locked -p iroh-quinn-udp --target wasm32-unknown-unknown --no-default-features --features=tracing,log
167-
- run: cargo rustc --locked -p iroh-quinn --target wasm32-unknown-unknown --no-default-features --features=log,platform-verifier,rustls-ring --crate-type=cdylib
144+
- run: cargo rustc --locked -p iroh-quinn --target wasm32-unknown-unknown --no-default-features --features=tracing-log,platform-verifier,rustls-ring --crate-type=cdylib
168145

169146
# If the Wasm file contains any 'import "env"' declarations, then
170147
# some non-Wasm-compatible code made it into the final code.
@@ -175,7 +152,8 @@ jobs:
175152
run: |
176153
! wasm-tools print --skeleton target/wasm32-unknown-unknown/debug/iroh_quinn.wasm | grep 'import "env"'
177154
178-
- run: cargo binstall wasm-bindgen-cli --locked --no-confirm
155+
# Match the version of wasm-bindgen used in `Cargo.lock`
156+
- run: cargo binstall wasm-bindgen-cli@0.2.106 --locked --no-confirm
179157
- run: cargo test --locked -p iroh-quinn-proto --target wasm32-unknown-unknown
180158

181159
msrv:
@@ -184,7 +162,7 @@ jobs:
184162
RUSTC_WRAPPER: "sccache"
185163
SCCACHE_GHA_ENABLED: "on"
186164
steps:
187-
- uses: actions/checkout@v5
165+
- uses: actions/checkout@v6
188166
- uses: mozilla-actions/sccache-action@v0.0.9
189167
# Note that we must also update the README when changing the MSRV
190168
- uses: dtolnay/rust-toolchain@1.83
@@ -197,7 +175,7 @@ jobs:
197175
RUSTC_WRAPPER: "sccache"
198176
SCCACHE_GHA_ENABLED: "on"
199177
steps:
200-
- uses: actions/checkout@v5
178+
- uses: actions/checkout@v6
201179
- uses: mozilla-actions/sccache-action@v0.0.9
202180
- uses: dtolnay/rust-toolchain@stable
203181
with:
@@ -220,7 +198,7 @@ jobs:
220198
audit:
221199
runs-on: ubuntu-latest
222200
steps:
223-
- uses: actions/checkout@v5
201+
- uses: actions/checkout@v6
224202
- uses: EmbarkStudios/cargo-deny-action@v2
225203

226204
test-android:
@@ -242,7 +220,7 @@ jobs:
242220
run: echo "API_LEVEL=${{ matrix.api-level }}" >> $GITHUB_ENV
243221

244222
- name: Checkout code
245-
uses: actions/checkout@v5
223+
uses: actions/checkout@v6
246224

247225
- name: Install JDK
248226
uses: actions/setup-java@v5
@@ -284,17 +262,18 @@ jobs:
284262
api-level: ${{ matrix.api-level }}
285263
arch: ${{ matrix.emulator-arch }}
286264
script: .github/workflows/rust-android-run-tests-on-emulator.sh
287-
# features:
288-
# strategy:
289-
# matrix:
290-
# os: [ubuntu-latest, macos-latest, windows-latest]
291-
# runs-on: ${{ matrix.os }}
292-
# env:
293-
# RUSTFLAGS: -Dwarnings
294-
# # skip FIPS features outside of Linux
295-
# SKIP_FEATURES: ${{ matrix.os != 'ubuntu-latest' && 'rustls-aws-lc-rs-fips,aws-lc-rs-fips' || '' }}
296-
# steps:
297-
# - uses: actions/checkout@v5
298-
# - uses: dtolnay/rust-toolchain@stable
299-
# - uses: taiki-e/install-action@cargo-hack
300-
# - run: cargo hack check --feature-powerset --depth 3 --optional-deps --no-dev-deps --ignore-private --skip "${{env.SKIP_FEATURES}}"
265+
266+
features:
267+
strategy:
268+
matrix:
269+
os: [ubuntu-latest, macos-latest, windows-latest]
270+
runs-on: ${{ matrix.os }}
271+
env:
272+
RUSTFLAGS: -Dwarnings
273+
# skip FIPS features outside of Linux
274+
SKIP_FEATURES: ${{ matrix.os != 'ubuntu-latest' && 'rustls-aws-lc-rs-fips,aws-lc-rs-fips,__rustls-post-quantum-test' || '' }}
275+
steps:
276+
- uses: actions/checkout@v6
277+
- uses: dtolnay/rust-toolchain@stable
278+
- uses: taiki-e/install-action@cargo-hack
279+
- run: cargo hack check --feature-powerset --depth 3 --optional-deps --no-dev-deps --ignore-private --skip "${{env.SKIP_FEATURES}}"

0 commit comments

Comments
 (0)