Skip to content

Commit 68acdfc

Browse files
committed
ci: test windows dyn link
This requires an upstream bug-fix from cargo-c. Until there's a release published with this fix we have to build our own copy (slow). With this in place, we can run integration tests against client/server binaries that dynamically link librustls.dll \o/
1 parent 3b0b18e commit 68acdfc

File tree

1 file changed

+22
-9
lines changed

1 file changed

+22
-9
lines changed

.github/workflows/test.yaml

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -196,10 +196,9 @@ jobs:
196196
dyn_link: [ off ]
197197
include:
198198
# One build with dynamic linking.
199-
# TODO(@cpu): debug broken dyn-link build on Windows.
200-
# - crypto: aws-lc-rs
201-
# config: Release
202-
# dyn_link: on
199+
- crypto: aws-lc-rs
200+
config: Release
201+
dyn_link: on
203202
# One build with cert_compression.
204203
- crypto: aws-lc-rs
205204
config: Release
@@ -221,13 +220,27 @@ jobs:
221220
with:
222221
arch: x64
223222

223+
# TODO(@cpu): switch back to binary cargo-c releases once a release with
224+
# https://github.com/lu-zero/cargo-c/pull/428 is included. This is
225+
# needed for dynamic linking support on Windows.
226+
# - name: Install cargo-c
227+
#
228+
# env:
229+
# LINK: https://github.com/lu-zero/cargo-c/releases/latest/download
230+
# CARGO_C_FILE: cargo-c-windows-msvc.zip
231+
# run: |
232+
# curl -L "$env:LINK/$env:CARGO_C_FILE" -o cargo-c-windows-msvc.zip
233+
# powershell -Command "Expand-Archive -Path cargo-c-windows-msvc.zip -DestinationPath $env:USERPROFILE\\.cargo\\bin -Force"
224234
- name: Install cargo-c
225-
env:
226-
LINK: https://github.com/lu-zero/cargo-c/releases/latest/download
227-
CARGO_C_FILE: cargo-c-windows-msvc.zip
228235
run: |
229-
curl -L "$env:LINK/$env:CARGO_C_FILE" -o cargo-c-windows-msvc.zip
230-
powershell -Command "Expand-Archive -Path cargo-c-windows-msvc.zip -DestinationPath $env:USERPROFILE\\.cargo\\bin -Force"
236+
mkdir /tmp
237+
pushd /tmp
238+
git clone https://github.com/lu-zero/cargo-c.git
239+
cd cargo-c
240+
git fetch origin
241+
git checkout msvc-def-gen
242+
cargo install --path ./
243+
popd
231244
232245
- name: Configure CMake
233246
run: cmake -DCRYPTO_PROVIDER="${{ matrix.crypto }}" -DCERT_COMPRESSION="${{ matrix.cert_compression }}" -DDYN_LINK="${{ matrix.dyn_link }}" -S . -B build

0 commit comments

Comments
 (0)