| # Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved. |
| # |
| # Licensed under the Apache License 2.0 (the "License"). You may not use |
| # this file except in compliance with the License. You can obtain a copy |
| # in the file LICENSE in the source distribution or at |
| # https://www.openssl.org/source/license.html |
| |
| name: Windows Compression GitHub CI |
| |
| on: |
| pull_request: |
| paths: |
| - 'crypto/comp/*.c' |
| push: |
| paths: |
| - '**.c' |
| |
| permissions: |
| contents: read |
| |
| jobs: |
| zstd: |
| runs-on: windows-latest |
| steps: |
| - uses: actions/checkout@v5 |
| with: |
| persist-credentials: false |
| - name: checkout fuzz/corpora submodule |
| run: git submodule update --init --depth 1 fuzz/corpora |
| - name: install nasm |
| run: | |
| choco install nasm |
| "C:\Program Files\NASM" | Out-File -FilePath "$env:GITHUB_PATH" -Append |
| - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 #v1.13.0 |
| - name: prepare the build directory |
| run: mkdir _build |
| - name: Get zstd |
| working-directory: _build |
| run: | |
| vcpkg install zstd:x64-windows |
| - name: config |
| working-directory: _build |
| run: | |
| perl ..\Configure enable-comp enable-zstd --with-zstd-include=C:\vcpkg\packages\zstd_x64-windows\include --with-zstd-lib=C:\vcpkg\packages\zstd_x64-windows\lib\zstd.lib no-makedepend VC-WIN64A |
| perl configdata.pm --dump |
| - name: build |
| working-directory: _build |
| run: nmake |
| - name: download coreinfo |
| uses: suisei-cn/actions-download-file@818d6b7dc8fe73f2f924b6241f2b1134ca1377d9 #v1.6.0 |
| with: |
| url: "https://download.sysinternals.com/files/Coreinfo.zip" |
| target: _build/coreinfo/ |
| - name: get cpu info |
| working-directory: _build |
| continue-on-error: true |
| run: | |
| 7z.exe x coreinfo/Coreinfo.zip |
| ./Coreinfo64.exe -accepteula -f |
| ./apps/openssl.exe version -c |
| - name: test |
| working-directory: _build |
| run: | |
| $env:Path+=";C:\vcpkg\packages\zstd_x64-windows\bin" |
| nmake test VERBOSE_FAILURE=yes TESTS="-test_fuzz* -test_fipsload" HARNESS_JOBS=4 |
| brotli: |
| runs-on: windows-latest |
| steps: |
| - uses: actions/checkout@v5 |
| with: |
| persist-credentials: false |
| - name: checkout fuzz/corpora submodule |
| run: git submodule update --init --depth 1 fuzz/corpora |
| - name: install nasm |
| run: | |
| choco install nasm |
| "C:\Program Files\NASM" | Out-File -FilePath "$env:GITHUB_PATH" -Append |
| - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 #v1.13.0 |
| - name: prepare the build directory |
| run: mkdir _build |
| - name: Get brotli |
| working-directory: _build |
| run: | |
| vcpkg install brotli:x64-windows |
| - name: config |
| working-directory: _build |
| run: | |
| perl ..\Configure enable-comp enable-brotli --with-brotli-include=C:\vcpkg\packages\brotli_x64-windows\include --with-brotli-lib=C:\vcpkg\packages\brotli_x64-windows\lib no-makedepend VC-WIN64A |
| perl configdata.pm --dump |
| - name: build |
| working-directory: _build |
| run: nmake |
| - name: download coreinfo |
| uses: suisei-cn/actions-download-file@818d6b7dc8fe73f2f924b6241f2b1134ca1377d9 #v1.6.0 |
| with: |
| url: "https://download.sysinternals.com/files/Coreinfo.zip" |
| target: _build/coreinfo/ |
| - name: get cpu info |
| working-directory: _build |
| continue-on-error: true |
| run: | |
| 7z.exe x coreinfo/Coreinfo.zip |
| ./Coreinfo64.exe -accepteula -f |
| ./apps/openssl.exe version -c |
| - name: test |
| working-directory: _build |
| run: | |
| $env:Path+=";C:\vcpkg\packages\brotli_x64-windows\bin" |
| nmake test VERBOSE_FAILURE=yes TESTS="-test_fuzz* -test_fipsload" HARNESS_JOBS=4 |