From a8f99f98d601efdc212d958a79af78bbbb0f12e0 Mon Sep 17 00:00:00 2001 From: Neil Horman Date: Fri, 28 Jun 2024 13:28:55 -0400 Subject: [PATCH] Avoid chicken and egg problem with reg setting Because openssl with -DOSSL_WINCTX no longer falls back to build time defines, we have a chicken and egg problem. CI needs to query openssl for its version string so registry keys can be set properly, but openssl version refuses to run because no configuration file can be found So we work around it by, for the purposes of setting the registry keys, we set OPENSSL_CONF to a know config file, so that openssl version runs properly. Once the version is extracted, we can set the registry keys, and openssl will function properly without OPENSSL_CONF set Reviewed-by: Tomas Mraz Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/24450) --- .github/workflows/windows.yml | 1 + .github/workflows/windows_comp.yml | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 110ac4bed9..a0cb656e36 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -54,6 +54,7 @@ jobs: - name: Gather openssl version info working-directory: _build run: | + $Env:OPENSSL_CONF="apps\openssl.cnf" apps/openssl.exe version -v apps/openssl.exe version -v | awk '{print $2}' apps/openssl.exe version -v | awk '{print $2}' | sed -e's/\([0-9]\+\.[0-9]\+\)\(\.[0-9]\+\)\(-*.*$\)/\1/' diff --git a/.github/workflows/windows_comp.yml b/.github/workflows/windows_comp.yml index fcdf7905a4..a65a6b5244 100644 --- a/.github/workflows/windows_comp.yml +++ b/.github/workflows/windows_comp.yml @@ -36,9 +36,10 @@ jobs: - name: Gather openssl version info working-directory: _build run: | + $Env:OPENSSL_CONF="apps\openssl.cnf" apps/openssl.exe version -v apps/openssl.exe version -v | awk '{print $2}' - apps/openssl.exe version -v | awk '{print $2}' | sed -e's/\([0-9]\+\.[0-9]\+\)\(\.[0-9]\+\)\(-*.*$\)/\1/ + apps/openssl.exe version -v | awk '{print $2}' | sed -e's/\([0-9]\+\.[0-9]\+\)\(\.[0-9]\+\)\(-*.*$\)/\1/' echo "OSSL_VERSION=$(apps/openssl.exe version -v | awk '{print $2}' | sed -e's/\([0-9]\+\.[0-9]\+\)\(\.[0-9]\+\)\(-*.*$\)/\1/')" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append - name: Set registry keys working-directory: _build