From 7acdec72ff03f2d8587d36a041def693ae32567b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20L=C3=B8nner=C3=B8d=20Madsen?= Date: Wed, 30 Sep 2026 11:40:26 +0200 Subject: [PATCH] ci: install OpenSSL on Windows from vcpkg instead of Chocolatey The Chocolatey openssl package downloads its installer from slproweb.com, which has started dropping connections from GitHub runners: three windows-latest runs in a row failed or hung in that step before building anything. slproweb also deletes superseded installers, so the package breaks whenever it lags a release. ci.yml already installed curl and nlohmann-json through vcpkg, and juce.yml gets OpenSSL there too, so add openssl to that install and drop OPENSSL_ROOT_DIR. fingerprint-parity.yml gets the same switch plus the vcpkg toolchain file. --- .github/workflows/ci.yml | 19 +++++++------------ .github/workflows/fingerprint-parity.yml | 10 +++++++--- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 42af11a..ba42e86 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -62,17 +62,14 @@ jobs: if: runner.os == 'macOS' run: brew install openssl@3 nlohmann-json - - name: Install OpenSSL (Windows) - if: runner.os == 'Windows' - shell: pwsh - run: | - choco install openssl --no-progress -y - - - name: Install curl via vcpkg (Windows) + # OpenSSL comes from vcpkg like everything else here, as in juce.yml. The + # Chocolatey package downloads its installer from slproweb.com, which + # drops connections from GitHub runners and deletes superseded versions. + - name: Install dependencies via vcpkg (Windows) if: runner.os == 'Windows' shell: bash run: | - "$VCPKG_INSTALLATION_ROOT/vcpkg" install --triplet x64-windows curl nlohmann-json + "$VCPKG_INSTALLATION_ROOT/vcpkg" install --triplet x64-windows openssl curl nlohmann-json - name: Configure (Ubuntu) if: runner.os == 'Linux' @@ -91,8 +88,7 @@ jobs: run: | cmake -S . -B build \ -DCMAKE_TOOLCHAIN_FILE="$VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" \ - -DVCPKG_TARGET_TRIPLET=x64-windows \ - -DOPENSSL_ROOT_DIR="C:/Program Files/OpenSSL" + -DVCPKG_TARGET_TRIPLET=x64-windows - name: Build run: cmake --build build --config Release @@ -123,8 +119,7 @@ jobs: cmake -S tests/consumer_smoke -B consumer-build \ -DCMAKE_TOOLCHAIN_FILE="$VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" \ -DVCPKG_TARGET_TRIPLET=x64-windows \ - -DCMAKE_PREFIX_PATH="${{ github.workspace }}/install" \ - -DOPENSSL_ROOT_DIR="C:/Program Files/OpenSSL" + -DCMAKE_PREFIX_PATH="${{ github.workspace }}/install" - name: Build consumer smoke run: cmake --build consumer-build --config Release diff --git a/.github/workflows/fingerprint-parity.yml b/.github/workflows/fingerprint-parity.yml index 2f32d39..6657288 100644 --- a/.github/workflows/fingerprint-parity.yml +++ b/.github/workflows/fingerprint-parity.yml @@ -72,10 +72,13 @@ jobs: if: runner.os == 'macOS' run: brew install openssl@3 + # From vcpkg rather than Chocolatey, whose package downloads from + # slproweb.com and fails there often enough to redden unrelated runs. - name: Install OpenSSL (Windows) if: runner.os == 'Windows' - shell: pwsh - run: choco install openssl --no-progress -y + shell: bash + run: | + "$VCPKG_INSTALLATION_ROOT/vcpkg" install --triplet x64-windows openssl - name: Configure (Ubuntu) if: runner.os == 'Linux' @@ -99,7 +102,8 @@ jobs: cmake -S . -B build -DCMAKE_BUILD_TYPE=Release \ -DMOONBASE_USE_CURL=OFF -DMOONBASE_BUILD_TESTS=OFF -DMOONBASE_BUILD_EXAMPLES=OFF \ -DMOONBASE_BUILD_DEVICE_ID_TOOL=ON \ - -DOPENSSL_ROOT_DIR="C:/Program Files/OpenSSL" + -DCMAKE_TOOLCHAIN_FILE="$VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" \ + -DVCPKG_TARGET_TRIPLET=x64-windows - name: Build the device id probe run: cmake --build build --config Release --target moonbase_device_id