@@ -2,10 +2,10 @@ name: CI (windows)
22on : [push, pull_request]
33
44jobs :
5- msvc-openssl :
5+ msvc-openssl-3-6-0-patch :
66 runs-on : windows-latest
77 outputs :
8- openssl-head : ${{ steps.openssl.outputs.head }}
8+ openssl-head : ${{ steps.openssl.outputs.head }}-${{ steps.patches.outputs.id }}
99 steps :
1010 - uses : actions/checkout@v2
1111 - uses : actions/checkout@v2
@@ -16,11 +16,13 @@ jobs:
1616 fetch-depth : 0
1717 - run : echo "::set-output name=head::$(git -C openssl describe --always --long)"
1818 id : openssl
19+ - run : echo "::set-output name=id::$(git rev-parse HEAD:patches)"
20+ id : patches
1921 - uses : actions/cache@v4
2022 id : cache
2123 with :
2224 path : openssl/_dest
23- key : ${{ runner.os }}-openssl-${{ steps.openssl.outputs.head }}
25+ key : ${{ runner.os }}-openssl-${{ steps.openssl.outputs.head }}-${{ steps.patches.outputs.id }}
2426 - name : Apply patches
2527 run : |
2628 git apply patches/openssl-tls1.3.patch
@@ -36,8 +38,155 @@ jobs:
3638 nmake /S build_libs build_programs
3739 nmake /S install_sw DESTDIR=_dest
3840
39- msvc-engine :
40- needs : msvc-openssl
41+ msvc-openssl-3-6-0 :
42+ runs-on : windows-latest
43+ outputs :
44+ openssl-head : ${{ steps.openssl.outputs.head }}
45+ steps :
46+ - uses : actions/checkout@v2
47+ - uses : actions/checkout@v2
48+ with :
49+ repository : openssl/openssl
50+ path : openssl
51+ ref : openssl-3.6.0
52+ fetch-depth : 0
53+ - run : echo "::set-output name=head::$(git -C openssl describe --always --long)"
54+ id : openssl
55+ - uses : actions/cache@v4
56+ id : cache
57+ with :
58+ path : openssl/_dest
59+ key : ${{ runner.os }}-openssl-${{ steps.openssl.outputs.head }}
60+ - uses : ilammy/msvc-dev-cmd@v1
61+ - name : Build OpenSSL
62+ if : steps.cache.outputs.cache-hit != 'true'
63+ working-directory : openssl
64+ run : |
65+ perl Configure no-makedepend no-tests no-asm VC-WIN64A
66+ perl configdata.pm --dump
67+ nmake /S build_libs build_programs
68+ nmake /S install_sw DESTDIR=_dest
69+
70+ msvc-openssl-4-0-0 :
71+ runs-on : windows-latest
72+ outputs :
73+ openssl-head : ${{ steps.openssl.outputs.head }}
74+ steps :
75+ - uses : actions/checkout@v2
76+ - uses : actions/checkout@v2
77+ with :
78+ repository : openssl/openssl
79+ path : openssl
80+ ref : openssl-4.0.0
81+ fetch-depth : 0
82+ - run : echo "::set-output name=head::$(git -C openssl describe --always --long)"
83+ id : openssl
84+ - uses : actions/cache@v4
85+ id : cache
86+ with :
87+ path : openssl/_dest
88+ key : ${{ runner.os }}-openssl-${{ steps.openssl.outputs.head }}
89+ - uses : ilammy/msvc-dev-cmd@v1
90+ - name : Build OpenSSL
91+ if : steps.cache.outputs.cache-hit != 'true'
92+ working-directory : openssl
93+ run : |
94+ perl Configure no-makedepend no-tests no-asm VC-WIN64A
95+ perl configdata.pm --dump
96+ nmake /S build_libs build_programs
97+ nmake /S install_sw DESTDIR=_dest
98+
99+ msvc-openssl-master :
100+ runs-on : windows-latest
101+ outputs :
102+ openssl-head : ${{ steps.openssl.outputs.head }}
103+ steps :
104+ - uses : actions/checkout@v2
105+ - uses : actions/checkout@v2
106+ with :
107+ repository : openssl/openssl
108+ path : openssl
109+ ref : master
110+ fetch-depth : 0
111+ - run : echo "::set-output name=head::$(git -C openssl describe --always --long)"
112+ id : openssl
113+ - uses : actions/cache@v4
114+ id : cache
115+ with :
116+ path : openssl/_dest
117+ key : ${{ runner.os }}-openssl-${{ steps.openssl.outputs.head }}
118+ - uses : ilammy/msvc-dev-cmd@v1
119+ - name : Build OpenSSL
120+ if : steps.cache.outputs.cache-hit != 'true'
121+ working-directory : openssl
122+ run : |
123+ perl Configure no-makedepend no-tests no-asm VC-WIN64A
124+ perl configdata.pm --dump
125+ nmake /S build_libs build_programs
126+ nmake /S install_sw DESTDIR=_dest
127+
128+ msvc-engine-openssl-3-6-0 :
129+ needs : msvc-openssl-3-6-0
130+ runs-on : windows-latest
131+ steps :
132+ - uses : actions/checkout@v2
133+ with :
134+ submodules : true
135+ - uses : actions/cache@v4
136+ with :
137+ path : openssl/_dest
138+ key : ${{ runner.os }}-openssl-${{ needs.msvc-openssl-3-6-0.outputs.openssl-head }}
139+ - run : cmake -DOPENSSL_ROOT_DIR="openssl\_dest\Program Files\OpenSSL" -DOPENSSL_ENGINES_DIR=bin -DGOST_BUILD_PROVIDER=0 .
140+ - run : cmake --build .
141+ - name : Run tests
142+ run : |
143+ $env:OPENSSL_ENGINES = "$pwd\bin\Debug"
144+ $env:OPENSSL_MODULES = "$pwd\bin\Debug"
145+ Copy-Item -Path "$pwd\openssl\_dest\Program Files\OpenSSL\bin\*.dll" -Destination "$pwd\bin\Debug"
146+ ctest -C Debug --output-on-failure
147+
148+ msvc-provider-openssl-3-6-0-patch :
149+ needs : msvc-openssl-3-6-0-patch
150+ runs-on : windows-latest
151+ steps :
152+ - uses : actions/checkout@v2
153+ with :
154+ submodules : true
155+ - uses : actions/cache@v4
156+ with :
157+ path : openssl/_dest
158+ key : ${{ runner.os }}-openssl-${{ needs.msvc-openssl-3-6-0-patch.outputs.openssl-head }}
159+ - run : cmake -DOPENSSL_ROOT_DIR="openssl\_dest\Program Files\OpenSSL" -DOPENSSL_ENGINES_DIR=bin -DGOST_BUILD_ENGINE=OFF .
160+ - run : cmake --build .
161+ - name : Run tests
162+ run : |
163+ $env:OPENSSL_ENGINES = "$pwd\bin\Debug"
164+ $env:OPENSSL_MODULES = "$pwd\bin\Debug"
165+ Copy-Item -Path "$pwd\openssl\_dest\Program Files\OpenSSL\bin\*.dll" -Destination "$pwd\bin\Debug"
166+ ctest -C Debug --output-on-failure
167+
168+ msvc-provider-openssl-4-0-0 :
169+ needs : msvc-openssl-4-0-0
170+ runs-on : windows-latest
171+ steps :
172+ - uses : actions/checkout@v2
173+ with :
174+ submodules : true
175+ - uses : actions/cache@v4
176+ with :
177+ path : openssl/_dest
178+ key : ${{ runner.os }}-openssl-${{ needs.msvc-openssl-4-0-0.outputs.openssl-head }}
179+ - run : cmake -DOPENSSL_ROOT_DIR="openssl\_dest\Program Files\OpenSSL" -DOPENSSL_ENGINES_DIR=bin .
180+ - run : cmake --build .
181+ - name : Run tests
182+ run : |
183+ $env:OPENSSL_ENGINES = "$pwd\bin\Debug"
184+ $env:OPENSSL_MODULES = "$pwd\bin\Debug"
185+ Copy-Item -Path "$pwd\openssl\_dest\Program Files\OpenSSL\bin\*.dll" -Destination "$pwd\bin\Debug"
186+ ctest -C Debug --output-on-failure
187+
188+ msvc-provider-openssl-master :
189+ needs : msvc-openssl-master
41190 runs-on : windows-latest
42191 steps :
43192 - uses : actions/checkout@v2
46195 - uses : actions/cache@v4
47196 with :
48197 path : openssl/_dest
49- key : ${{ runner.os }}-openssl-${{ needs.msvc-openssl.outputs.openssl-head }}
198+ key : ${{ runner.os }}-openssl-${{ needs.msvc-openssl-master .outputs.openssl-head }}
50199 - run : cmake -DOPENSSL_ROOT_DIR="openssl\_dest\Program Files\OpenSSL" -DOPENSSL_ENGINES_DIR=bin .
51200 - run : cmake --build .
52201 - name : Run tests
0 commit comments