Commit 00ad61ce2a for openssl.org
commit 00ad61ce2ad576675549514003b850e10a6530be
Author: Dmitry Misharov <dmitry@openssl.org>
Date: Wed Aug 26 19:54:14 2026 +0200
add VS2013 compiler testing job to CI workflow
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Bob Beck <beck@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Fri Aug 28 16:18:03 2026
(Merged from https://github.com/openssl/openssl/pull/32537)
diff --git a/.github/workflows/compiler-zoo.yml b/.github/workflows/compiler-zoo.yml
index b5d1699c70..cee17bbd9f 100644
--- a/.github/workflows/compiler-zoo.yml
+++ b/.github/workflows/compiler-zoo.yml
@@ -85,6 +85,70 @@ jobs:
- name: make test
run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
+ vs2013:
+ needs: [validate-dispatch-inputs]
+ if: |
+ !cancelled() &&
+ (needs.validate-dispatch-inputs.result == 'success' || needs.validate-dispatch-inputs.result == 'skipped')
+ strategy:
+ fail-fast: false
+ matrix:
+ include:
+ - arch: amd64
+ target: VC-WIN64A
+ - arch: x86
+ target: VC-WIN32
+ runs-on: windows-2022
+ env:
+ IMAGE: ghcr.io/openssl/openssl-vs2013:latest
+ VCVARS: C:\vc12\vcvars_${{ matrix.arch }}.cmd
+ steps:
+ - uses: actions/checkout@v6
+ with:
+ persist-credentials: false
+ ref: ${{ github.event.inputs.head_sha || github.sha }}
+ - name: checkout fuzz/corpora submodule
+ run: git submodule update --init --depth 1 fuzz/corpora
+ - name: pull the VS2013 toolchain image
+ shell: cmd
+ run: docker pull %IMAGE%
+ - name: config
+ run: |
+ $config = @(
+ 'no-makedepend'
+ 'no-shared'
+ 'enable-fips'
+ '-DOSSL_WINCTX=openssl'
+ ) -join ' '
+ $chain = @(
+ # 'call', not a bare invocation: cmd does not necessarily return from a
+ # batch file run without it, which would skip the rest of the chain.
+ "call $env:VCVARS"
+ 'mkdir _build'
+ 'cd _build'
+ "perl ..\Configure ${{ matrix.target }} --banner=Configured $config"
+ 'perl configdata.pm --dump'
+ ) -join ' && '
+ docker run --rm --isolation=process -v "${env:GITHUB_WORKSPACE}:C:\src" `
+ -w C:\src ${env:IMAGE} cmd /S /C $chain
+ - name: make
+ run: |
+ $chain = @(
+ "call $env:VCVARS"
+ 'jom /j4 /S'
+ 'apps\openssl.exe version -c'
+ ) -join ' && '
+ docker run --rm --isolation=process -v "${env:GITHUB_WORKSPACE}:C:\src" `
+ -w C:\src\_build ${env:IMAGE} cmd /S /C $chain
+ - name: make test
+ run: |
+ $chain = @(
+ "call $env:VCVARS"
+ 'jom test VERBOSE_FAILURE=yes TESTS=-test_fuzz* HARNESS_JOBS=4'
+ ) -join ' && '
+ docker run --rm --isolation=process -v "${env:GITHUB_WORKSPACE}:C:\src" `
+ -w C:\src\_build ${env:IMAGE} cmd /S /C $chain
+
clang:
needs: [validate-dispatch-inputs]
if: |