@@ -189,3 +189,85 @@ jobs:
189189 if : ${{ failure() && (matrix.os == 'macos-latest') }}
190190 run : |
191191 DYLD_PRINT_LIBRARIES=1 ${{ github.workspace }}/test/.libs/libbitcoin-system-test
192+
193+ verify-sln :
194+ strategy :
195+ fail-fast : false
196+
197+ matrix :
198+ include :
199+ - os : windows-latest
200+ configuration : " StaticRelease"
201+ platform : " Win32"
202+ version : " vs2022"
203+
204+ - os : windows-latest
205+ configuration : " StaticDebug"
206+ platform : " Win32"
207+ version : " vs2022"
208+
209+ - os : windows-latest
210+ configuration : " StaticRelease"
211+ platform : " x64"
212+ version : " vs2022"
213+
214+ - os : windows-latest
215+ configuration : " StaticDebug"
216+ platform : " x64"
217+ version : " vs2022"
218+
219+ runs-on : ${{ matrix.os }}
220+
221+ steps :
222+ - name : Add msbuild to PATH
223+ uses : microsoft/setup-msbuild@v1.1
224+
225+ - name : Checkout repository
226+ uses : actions/checkout@v2
227+
228+ - name : Initialize SDK
229+ shell : powershell
230+ run : |
231+ try {
232+ Invoke-WebRequest -Uri "https://go.microsoft.com/fwlink/p/?LinkId=323507" -OutFile "sdksetup.exe"
233+
234+ $FeatureList = "OptionId.WindowsDesktopSoftwareDevelopmentKit OptionId.NetFxSoftwareDevelopmentKit"
235+ $Args = "/q /norestart /features $FeatureList"
236+ $setup = Start-Process -PassThru -FilePath "sdksetup.exe" -ArgumentList $Args
237+
238+ $setup.WaitForExit()
239+ if ($setup.ExitCode -ne 0) {
240+ Write-Host "Test execution failure: " $setup.ExitCode -ForegroundColor Red;
241+ exit $setup.ExitCode;
242+ }
243+ }
244+ catch {
245+ $ERR = $_;
246+ Write-Host "Initialization failure: " $ERR -ForegroundColor Red;
247+ exit $ERR;
248+ }
249+
250+ - name : Execute build
251+ run : .\build.cmd .. ${{ matrix.platform }} ${{ matrix.configuration }} ${{ matrix.version }}
252+
253+ - name : Execute tests
254+ shell : powershell
255+ run : |
256+ Write-Host "Locating test executables..." -ForegroundColor Yellow;
257+ $BC_TEST_EXES = @(Get-ChildItem -Path "$env:${{ github.workspace }}\bin" -recurse | Where-Object { $_.Name -eq "libbitcoin-system-test.exe" });
258+ If ($BC_TEST_EXES.Count -ne 1) {
259+ Write-Host "Failure, invalid count of test executables." -ForegroundColor Red;
260+ exit 1;
261+ }
262+ Write-Host "Found single test executable: " $BC_TEST_EXES.FullName -ForegroundColor Green;
263+ $BC_TEST_SINGLETON = $BC_TEST_EXES.FullName;
264+ Write-Host "Executing $BC_TEST_SINGLETON $env:BOOST_UNIT_TEST_OPTIONS" -ForegroundColor Yellow;
265+ try {
266+ Invoke-Expression "$BC_TEST_SINGLETON $env:BOOST_UNIT_TEST_OPTIONS"
267+ }
268+ catch {
269+ $ERR = $_;
270+ Write-Host "Test execution failure: " $ERR -ForegroundColor Red;
271+ exit $ERR;
272+ }
273+ Write-Host "Test execution complete." -ForegroundColor Green;
0 commit comments