version: 1.4.{build} os: Visual Studio 2019 platform: x64 install: - ps: Install-PackageProvider -Name NuGet -Force - ps: Install-Module PsScriptAnalyzer -Force configuration: - Debug - Release environment: solutionname: PMDK.sln ex_solutionname: Examples.sln matrix: fast_finish: true before_build: - ps: >- if ($Env:CONFIGURATION -eq "Release") { utils/CSTYLE.ps1 if ($LASTEXITCODE -ne 0) { exit 1 } utils/CHECK_WHITESPACE.ps1 if ($LASTEXITCODE -ne 0) { exit 1 } utils/ps_analyze.ps1 if ($LASTEXITCODE -ne 0) { exit 1 } ./utils/check_sdk_version.py -d . if ($LASTEXITCODE -ne 0) { exit 1 } } build_script: - ps: msbuild src\$Env:solutionname /property:Configuration=$Env:CONFIGURATION /m /v:m - ps: msbuild src\examples\$Env:ex_solutionname /property:Configuration=$Env:CONFIGURATION /m /v:m after_build: - ps: utils/CREATE-ZIP.ps1 -b $Env:CONFIGURATION test_script: - ps: >- if ($true) { cd src\test md C:\temp echo "`$Env:NON_PMEM_FS_DIR = `"C:\temp`"" >> testconfig.ps1 echo "`$Env:PMEM_FS_DIR = `"C:\temp`"" >> testconfig.ps1 echo "`$Env:PMEM_FS_DIR_FORCE_PMEM = `"1`"" >> testconfig.ps1 echo "`$Env:PMDK_NO_ABORT_MSG = `"1`"" >> testconfig.ps1 echo "`$Env:TM = `"1`"" >> testconfig.ps1 write-output "config = { 'unittest_log_level': 1, 'cacheline_fs_dir': 'C:\\temp', 'force_cacheline': True, 'page_fs_dir': 'C:\\temp', 'force_page': False, 'byte_fs_dir': 'C:\\temp', 'force_byte': True, 'tm': True, 'test_type': 'check', 'granularity': 'all', 'fs_dir_force_pmem': 1, 'keep_going': False, 'timeout': '4m', 'build': 'debug', 'force_enable': None, 'fail_on_skip': False, 'enable_admin_tests': False, }" | out-file "testconfig.py" -encoding utf8 if ($Env:CONFIGURATION -eq "Debug") { ./RUNTESTS.ps1 -b debug -o 4m if ($?) { ./RUNTESTS.py -b debug } } if ($Env:CONFIGURATION -eq "Release") { ./RUNTESTS.ps1 -b nondebug -o 4m if ($?) { ./RUNTESTS.py -b release } } } artifacts: - path: 'src\x64\*.zip' name: PMDK