Skip to content

Commit adfdb4a

Browse files
committed
ci: Check windows manifests for all executables
The other executables have manifests and these should be checked in addition to bitcoind. Skipping fuzz.exe, bench_bitcoin.exe and test_bitcoin-qt.exe as they do not have manifests.
1 parent a9d7a41 commit adfdb4a

File tree

1 file changed

+32
-8
lines changed

1 file changed

+32
-8
lines changed

.github/workflows/ci.yml

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -267,14 +267,26 @@ jobs:
267267
run: |
268268
cmake --build . -j $NUMBER_OF_PROCESSORS --config Release
269269
270-
- name: Get bitcoind manifest
270+
- name: Check executable manifests
271271
if: matrix.job-type == 'standard'
272272
working-directory: build
273+
shell: pwsh -Command "$PSVersionTable; $PSNativeCommandUseErrorActionPreference = $true; $ErrorActionPreference = 'Stop'; & '{0}'"
273274
run: |
274-
mt.exe -nologo -inputresource:bin/Release/bitcoind.exe -out:bitcoind.manifest
275-
cat bitcoind.manifest
276-
echo
277-
mt.exe -nologo -inputresource:bin/Release/bitcoind.exe -validate_manifest
275+
mt.exe -nologo -inputresource:bin\Release\bitcoind.exe -out:bitcoind.manifest
276+
Get-Content bitcoind.manifest
277+
278+
Get-ChildItem -Filter "bin\Release\*.exe" | ForEach-Object {
279+
$exeName = $_.Name
280+
281+
# Skip as they currently do not have manifests
282+
if ($exeName -eq "fuzz.exe" -or $exeName -eq "bench_bitcoin.exe" -or $exeName -eq "test_bitcoin-qt.exe") {
283+
Write-Host "Skipping $exeName (no manifest present)"
284+
return
285+
}
286+
287+
Write-Host "Checking $exeName"
288+
& mt.exe -nologo -inputresource:$_.FullName -validate_manifest
289+
}
278290
279291
- name: Run test suite
280292
if: matrix.job-type == 'standard'
@@ -384,12 +396,24 @@ jobs:
384396
echo "$name=$value" >> $env:GITHUB_ENV
385397
}
386398
387-
- name: Get bitcoind manifest
388-
shell: pwsh
399+
- name: Check executable manifests
400+
shell: pwsh -Command "$PSVersionTable; $PSNativeCommandUseErrorActionPreference = $true; $ErrorActionPreference = 'Stop'; & '{0}'"
389401
run: |
390402
mt.exe -nologo -inputresource:bin\bitcoind.exe -out:bitcoind.manifest
391403
Get-Content bitcoind.manifest
392-
mt.exe -nologo -inputresource:bin\bitcoind.exe -validate_manifest
404+
405+
Get-ChildItem -Filter "bin\*.exe" | ForEach-Object {
406+
$exeName = $_.Name
407+
408+
# Skip as they currently do not have manifests
409+
if ($exeName -eq "fuzz.exe" -or $exeName -eq "bench_bitcoin.exe") {
410+
Write-Host "Skipping $exeName (no manifest present)"
411+
return
412+
}
413+
414+
Write-Host "Checking $exeName"
415+
& mt.exe -nologo -inputresource:$_.FullName -validate_manifest
416+
}
393417
394418
- name: Run unit tests
395419
# Can't use ctest here like other jobs as we don't have a CMake build tree.

0 commit comments

Comments
 (0)