Skip to content

Commit 7f8a701

Browse files
committed
ci: Use DbgHelp version to 10.0.18362.1.
So that it works on Windows 7, as DbgHelp 10.0.19041.685 which is present on GitHub Actions windows image does not work on Windows 7. Fixes #55
1 parent 5c8d860 commit 7f8a701

File tree

2 files changed

+28
-9
lines changed

2 files changed

+28
-9
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
uses: actions/cache@v2
1919
with:
2020
path: downloads/*.7z
21-
key: ${{ runner.os }}-${{ matrix.target }}-mingw-10.2.0
21+
key: ${{ runner.os }}-${{ matrix.target }}-mingw-10.2.0-dbghelp-10.0.18362.1
2222
- run: Get-Host | Select-Object Version
2323
- run: python -m pip install gcovr codecov
2424
- name: Build

ci/build.ps1

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,25 @@ $MINGW_32_URL = 'https://sourceforge.net/projects/mingw-w64/files/Toolchains%20t
2323
$MINGW_64_SUM = '5c3fc254494bc24eb201870f4b781d401cf7279bd03ea1aba6f2ffae771ded44'
2424
$MINGW_32_SUM = '767fa9ed3d5b236aacca96e7e510d09af5f30ad37376a5258e5a875523ca45c3'
2525

26+
$DBGHELP_64_URL = 'https://drive.google.com/uc?export=download&id=1yPSATmwkmmgoGQRA2ot2EHLlocHWhFlA'
27+
$DBGHELP_32_URL = 'https://drive.google.com/uc?export=download&id=1n60EvRKDKXaGCRLztwwiJacobgnuI-rb'
28+
$DBGHELP_64_SUM = '9bdc77e09a9ebdc8f810c46ed2b1171c048d6ebbe1b9ea1f927bfac66220dae5'
29+
$DBGHELP_32_SUM = 'dfdf39857b76533adb0bffd9ef9d1bc7516280f810ecea6dd5c1b5ca97809706'
30+
2631
#
2732
# Download and extract MinGW-w64 toolchain
2833
#
2934
New-Item -ItemType Directory -Force -Path downloads | Out-Null
3035
if ($target -eq 'mingw64') {
3136
$MINGW_URL = $MINGW_64_URL
3237
$MINGW_SUM = $MINGW_64_SUM
38+
$DBGHELP_URL = $DBGHELP_64_URL
39+
$DBGHELP_SUM = $DBGHELP_64_SUM
3340
} else {
3441
$MINGW_URL = $MINGW_32_URL
3542
$MINGW_SUM = $MINGW_32_SUM
43+
$DBGHELP_URL = $DBGHELP_32_URL
44+
$DBGHELP_SUM = $DBGHELP_32_SUM
3645
}
3746
$MINGW_ARCHIVE = Split-Path -leaf $MINGW_URL
3847
$MINGW_ARCHIVE = "downloads\$MINGW_ARCHIVE"
@@ -56,6 +65,21 @@ $Env:Path = "$toolchain\bin;$Env:Path"
5665
(Get-Command 'g++.exe').Source
5766
Exec { g++ --version }
5867

68+
$DBGHELP_ARCHIVE = 'downloads\dbghelp-$target.7z'
69+
$DBGHELP_DIR = 'downloads\dbghelp\$target'
70+
if (!(Test-Path $DBGHELP_DIR -PathType Container)) {
71+
if (!(Test-Path $DBGHELP_ARCHIVE -PathType Leaf)) {
72+
Invoke-WebRequest -Uri $DBGHELP_URL -OutFile $DBGHELP_ARCHIVE -UserAgent NativeHost
73+
$hash = (Get-FileHash $DBGHELP_ARCHIVE -Algorithm SHA256).Hash
74+
if ($hash -ne $DBGHELP_SUM) {
75+
echo "error: ${DBGHELP_ARCHIVE}: wrong hash: ${hash}"
76+
exit 1
77+
}
78+
}
79+
Exec { 7z x -y "-o$DBGHELP_DIR" $DBGHELP_ARCHIVE | Out-Null }
80+
}
81+
82+
5983
#
6084
# Setup environment
6185
#
@@ -79,12 +103,7 @@ try {
79103

80104
Exec { cmake --version }
81105

82-
if ($target -eq 'mingw64') {
83-
$WINDBG_DIR = "${Env:ProgramFiles(x86)}\Windows Kits\10\Debuggers\x64"
84-
} else {
85-
$WINDBG_DIR = "${Env:ProgramFiles(x86)}\Windows Kits\10\Debuggers\x86"
86-
}
87-
(Get-Item "$WINDBG_DIR\dbghelp.dll").VersionInfo.FileVersion
106+
(Get-Item "$DBGHELP_DIR\dbghelp.dll").VersionInfo.FileVersion
88107

89108
#
90109
# Configure
@@ -95,7 +114,7 @@ if ($Env:GITHUB_EVENT_NAME -eq "push" -And $Env:GITHUB_REF.StartsWith('refs/tags
95114
$coverage = $false
96115
}
97116
$buildDir = "$buildRoot\$target"
98-
Exec { cmake "-S." "-B$buildDir" -G $generator "-DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE" "-DENABLE_COVERAGE=$coverage" "-DWINDBG_DIR=$WINDBG_DIR" }
117+
Exec { cmake "-S." "-B$buildDir" -G $generator "-DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE" "-DENABLE_COVERAGE=$coverage" "-DWINDBG_DIR=$DBGHELP_DIR" }
99118

100119
#
101120
# Build
@@ -105,7 +124,7 @@ Exec { cmake --build $buildDir --use-stderr --target all }
105124
#
106125
# Test
107126
#
108-
$Env:Path = "$WINDBG_DIR;$Env:Path"
127+
$Env:Path = "$DBGHELP_DIR;$Env:Path"
109128
$Env:CTEST_OUTPUT_ON_FAILURE = '1'
110129
Exec { cmake --build $buildDir --use-stderr --target test }
111130

0 commit comments

Comments
 (0)