mirror of
https://github.com/openssl/openssl.git
synced 2026-05-07 20:12:39 +00:00
bdebaa496c
The jom version in choco install is obsolete, but it works fine for CI. Users should use jom 1.1.7 or more recent. Signed-off-by: Milan Broz <gmazyland@gmail.com> Reviewed-by: Neil Horman <nhorman@openssl.org> Reviewed-by: Norbert Pocs <norbertp@openssl.org> MergeDate: Mon Apr 13 08:46:21 2026 (Merged from https://github.com/openssl/openssl/pull/30703)
152 lines
6.3 KiB
YAML
152 lines
6.3 KiB
YAML
# Copyright 2022-2026 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@v6
|
|
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
|
|
- name: install jom
|
|
run: choco install jom
|
|
- name: prepare the build directory
|
|
run: mkdir _build
|
|
- name: Get zstd
|
|
run: |
|
|
vcpkg install zstd:x64-windows
|
|
"C:\vcpkg\packages\zstd_x64-windows\bin" | Out-File -FilePath "$env:GITHUB_PATH" -Append
|
|
- name: config
|
|
working-directory: _build
|
|
shell: cmd
|
|
run: |
|
|
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
|
|
perl ..\Configure --strict-warnings 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
|
|
shell: cmd
|
|
run: |
|
|
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
|
|
jom /j4 /S
|
|
- name: Gather openssl version info
|
|
working-directory: _build
|
|
run: |
|
|
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 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
|
|
run: |
|
|
mkdir _build\coreinfo
|
|
Invoke-WebRequest -Uri "https://download.sysinternals.com/files/Coreinfo.zip" -outfile "_build\coreinfo\Coreinfo.zip"
|
|
- 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
|
|
shell: cmd
|
|
run: |
|
|
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
|
|
jom test VERBOSE_FAILURE=yes TESTS="-test_fuzz* -test_fipsload" HARNESS_JOBS=4
|
|
|
|
brotli:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
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
|
|
- name: install jom
|
|
run: choco install jom
|
|
- name: prepare the build directory
|
|
run: mkdir _build
|
|
- name: Get brotli
|
|
run: |
|
|
vcpkg install brotli:x64-windows
|
|
"C:\vcpkg\packages\brotli_x64-windows\bin" | Out-File -FilePath "$env:GITHUB_PATH" -Append
|
|
- name: config
|
|
working-directory: _build
|
|
shell: cmd
|
|
run: |
|
|
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
|
|
perl ..\Configure --strict-warnings 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
|
|
shell: cmd
|
|
run: |
|
|
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
|
|
jom /j4 /S
|
|
- name: Gather openssl version info
|
|
working-directory: _build
|
|
run: |
|
|
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 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
|
|
run: |
|
|
mkdir _build\coreinfo
|
|
Invoke-WebRequest -Uri "https://download.sysinternals.com/files/Coreinfo.zip" -outfile "_build\coreinfo\Coreinfo.zip"
|
|
- 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
|
|
shell: cmd
|
|
run: |
|
|
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
|
|
jom test VERBOSE_FAILURE=yes TESTS="-test_fuzz* -test_fipsload" HARNESS_JOBS=4
|