66 pull_request :
77
88jobs :
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 :
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