mem: Don't use posix_memalign() and friends with custom wrapper. #10
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Copyright 2022-2024 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' | |
- '.github/workflows/windows_comp.yml' | |
push: | |
paths: | |
- '**.c' | |
permissions: | |
contents: read | |
jobs: | |
zstd: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: checkout fuzz/corpora submodule | |
run: git submodule update --init --depth 1 fuzz/corpora | |
- uses: ilammy/msvc-dev-cmd@v1 | |
- uses: ilammy/setup-nasm@v1 | |
- 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 -DOSSL_WINCTX=openssl VC-WIN64A | |
perl configdata.pm --dump | |
- name: build | |
working-directory: _build | |
run: nmake | |
- name: Gather openssl version info | |
working-directory: _build | |
run: | | |
$env:Path+=";C:\vcpkg\packages\zstd_x64-windows\bin" | |
apps/openssl.exe version -v | |
apps/openssl.exe version -v | %{($_ -split '\s+')[1]} | |
apps/openssl.exe version -v | %{($_ -split '\s+')[1] -replace '([0-9]+\.[0-9]+)(\..*)','$1'} | |
echo "OSSL_VERSION=$(apps/openssl.exe version -v | %{($_ -split '\s+')[1] -replace '([0-9]+\.[0-9]+)(\..*)','$1'})" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append | |
- name: Set registry keys | |
working-directory: _build | |
run: | | |
echo ${Env:OSSL_VERSION} | |
reg.exe add HKLM\SOFTWARE\OpenSSL-${Env:OSSL_VERSION}-openssl /v OPENSSLDIR /t REG_EXPAND_SZ /d TESTOPENSSLDIR /reg:32 | |
reg.exe add HKLM\SOFTWARE\OpenSSL-${Env:OSSL_VERSION}-openssl /v ENGINESDIR /t REG_EXPAND_SZ /d TESTOPENSSLDIR /reg:32 | |
reg.exe add HKLM\SOFTWARE\OpenSSL-${Env:OSSL_VERSION}-openssl /v MODULESDIR /t REG_EXPAND_SZ /d TESTOPENSSLDIR /reg:32 | |
reg.exe query HKLM\SOFTWARE\OpenSSL-${Env:OSSL_VERSION}-openssl /v OPENSSLDIR /reg:32 | |
- name: download coreinfo | |
uses: suisei-cn/[email protected] | |
with: | |
url: "https://download.sysinternals.com/files/Coreinfo.zip" | |
target: _build/coreinfo/ | |
- name: get cpu info | |
working-directory: _build | |
continue-on-error: true | |
run: | | |
$env:Path+=";C:\vcpkg\packages\zstd_x64-windows\bin" | |
7z.exe x coreinfo/Coreinfo.zip | |
./Coreinfo64.exe -accepteula -f | |
./apps/openssl.exe version -c | |
- name: Check platform symbol usage | |
run: | | |
perl ./util/checkplatformsyms.pl ./util/platform_symbols/windows-symbols.txt libcrypto-3-x64.dll ./libssl-3-x64.dll | |
- 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@v4 | |
- name: checkout fuzz/corpora submodule | |
run: git submodule update --init --depth 1 fuzz/corpora | |
- uses: ilammy/msvc-dev-cmd@v1 | |
- uses: ilammy/setup-nasm@v1 | |
- 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 -DOSSL_WINCTX=openssl VC-WIN64A | |
perl configdata.pm --dump | |
- name: build | |
working-directory: _build | |
run: nmake | |
- name: Gather openssl version info | |
working-directory: _build | |
run: | | |
$env:Path+=";C:\vcpkg\packages\brotli_x64-windows\bin" | |
apps/openssl.exe version -v | |
apps/openssl.exe version -v | %{($_ -split '\s+')[1]} | |
apps/openssl.exe version -v | %{($_ -split '\s+')[1] -replace '([0-9]+\.[0-9]+)(\..*)','$1'} | |
echo "OSSL_VERSION=$(apps/openssl.exe version -v | %{($_ -split '\s+')[1] -replace '([0-9]+\.[0-9]+)(\..*)','$1'})" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append | |
- name: Set registry keys | |
working-directory: _build | |
run: | | |
echo ${Env:OSSL_VERSION} | |
reg.exe add HKLM\SOFTWARE\OpenSSL-${Env:OSSL_VERSION}-openssl /v OPENSSLDIR /t REG_EXPAND_SZ /d TESTOPENSSLDIR /reg:32 | |
reg.exe add HKLM\SOFTWARE\OpenSSL-${Env:OSSL_VERSION}-openssl /v ENGINESDIR /t REG_EXPAND_SZ /d TESTOPENSSLDIR /reg:32 | |
reg.exe add HKLM\SOFTWARE\OpenSSL-${Env:OSSL_VERSION}-openssl /v MODULESDIR /t REG_EXPAND_SZ /d TESTOPENSSLDIR /reg:32 | |
reg.exe query HKLM\SOFTWARE\OpenSSL-${Env:OSSL_VERSION}-openssl /v OPENSSLDIR /reg:32 | |
- name: download coreinfo | |
uses: suisei-cn/[email protected] | |
with: | |
url: "https://download.sysinternals.com/files/Coreinfo.zip" | |
target: _build/coreinfo/ | |
- name: get cpu info | |
working-directory: _build | |
continue-on-error: true | |
run: | | |
$env:Path+=";C:\vcpkg\packages\brotli_x64-windows\bin" | |
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 |