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.
This commit is contained in:
Max Edwards 2025-10-02 15:13:29 +01:00
parent e1a1b14c93
commit 156927903d
1 changed files with 32 additions and 8 deletions

View File

@ -268,14 +268,26 @@ jobs:
run: | run: |
cmake --build . -j $NUMBER_OF_PROCESSORS --config Release cmake --build . -j $NUMBER_OF_PROCESSORS --config Release
- name: Get bitcoind manifest - name: Check executable manifests
if: matrix.job-type == 'standard' if: matrix.job-type == 'standard'
working-directory: build working-directory: build
shell: pwsh -Command "$PSVersionTable; $PSNativeCommandUseErrorActionPreference = $true; $ErrorActionPreference = 'Stop'; & '{0}'"
run: | run: |
mt.exe -nologo -inputresource:bin/Release/bitcoind.exe -out:bitcoind.manifest mt.exe -nologo -inputresource:bin\Release\bitcoind.exe -out:bitcoind.manifest
cat bitcoind.manifest Get-Content bitcoind.manifest
echo
mt.exe -nologo -inputresource:bin/Release/bitcoind.exe -validate_manifest Get-ChildItem -Filter "bin\Release\*.exe" | ForEach-Object {
$exeName = $_.Name
# Skip as they currently do not have manifests
if ($exeName -eq "fuzz.exe" -or $exeName -eq "bench_bitcoin.exe" -or $exeName -eq "test_bitcoin-qt.exe") {
Write-Host "Skipping $exeName (no manifest present)"
return
}
Write-Host "Checking $exeName"
& mt.exe -nologo -inputresource:$_.FullName -validate_manifest
}
- name: Run test suite - name: Run test suite
if: matrix.job-type == 'standard' if: matrix.job-type == 'standard'
@ -377,12 +389,24 @@ jobs:
- *SET_UP_VS - *SET_UP_VS
- name: Get bitcoind manifest - name: Check executable manifests
shell: pwsh shell: pwsh -Command "$PSVersionTable; $PSNativeCommandUseErrorActionPreference = $true; $ErrorActionPreference = 'Stop'; & '{0}'"
run: | run: |
mt.exe -nologo -inputresource:bin\bitcoind.exe -out:bitcoind.manifest mt.exe -nologo -inputresource:bin\bitcoind.exe -out:bitcoind.manifest
Get-Content bitcoind.manifest Get-Content bitcoind.manifest
mt.exe -nologo -inputresource:bin\bitcoind.exe -validate_manifest
Get-ChildItem -Filter "bin\*.exe" | ForEach-Object {
$exeName = $_.Name
# Skip as they currently do not have manifests
if ($exeName -eq "fuzz.exe" -or $exeName -eq "bench_bitcoin.exe") {
Write-Host "Skipping $exeName (no manifest present)"
return
}
Write-Host "Checking $exeName"
& mt.exe -nologo -inputresource:$_.FullName -validate_manifest
}
- name: Run unit tests - name: Run unit tests
# Can't use ctest here like other jobs as we don't have a CMake build tree. # Can't use ctest here like other jobs as we don't have a CMake build tree.