mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-03-02 01:36:13 +00:00
ci: Move check_manifests step to ci-windows-cross.py
This is almost a refactor. The only change is putting the bitcoind.manifest into a different folder.
This commit is contained in:
parent
fa674d55df
commit
faf7389466
31
.github/ci-windows-cross.py
vendored
31
.github/ci-windows-cross.py
vendored
@ -24,16 +24,47 @@ def print_version():
|
||||
run([str(bitcoind), "-version"])
|
||||
|
||||
|
||||
def check_manifests():
|
||||
release_dir = Path.cwd() / "bin"
|
||||
manifest_path = release_dir / "bitcoind.manifest"
|
||||
|
||||
cmd_bitcoind_manifest = [
|
||||
"mt.exe",
|
||||
"-nologo",
|
||||
f"-inputresource:{release_dir / 'bitcoind.exe'}",
|
||||
f"-out:{manifest_path}",
|
||||
]
|
||||
run(cmd_bitcoind_manifest)
|
||||
print(manifest_path.read_text())
|
||||
|
||||
skipped = { # Skip as they currently do not have manifests
|
||||
"fuzz.exe",
|
||||
"bench_bitcoin.exe",
|
||||
"test_kernel.exe",
|
||||
}
|
||||
for entry in release_dir.iterdir():
|
||||
if entry.suffix.lower() != ".exe":
|
||||
continue
|
||||
if entry.name in skipped:
|
||||
print(f"Skipping {entry.name} (no manifest present)")
|
||||
continue
|
||||
print(f"Checking {entry.name}")
|
||||
run(["mt.exe", "-nologo", f"-inputresource:{entry}", "-validate_manifest"])
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description="Utility to run Windows CI steps.")
|
||||
steps = [
|
||||
"print_version",
|
||||
"check_manifests",
|
||||
]
|
||||
parser.add_argument("step", choices=steps, help="CI step to perform.")
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.step == "print_version":
|
||||
print_version()
|
||||
elif args.step == "check_manifests":
|
||||
check_manifests()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
18
.github/workflows/ci.yml
vendored
18
.github/workflows/ci.yml
vendored
@ -412,23 +412,7 @@ jobs:
|
||||
- *SET_UP_VS
|
||||
|
||||
- name: Check executable manifests
|
||||
shell: pwsh -Command "$PSVersionTable; $PSNativeCommandUseErrorActionPreference = $true; $ErrorActionPreference = 'Stop'; & '{0}'"
|
||||
run: |
|
||||
mt.exe -nologo -inputresource:bin\bitcoind.exe -out:bitcoind.manifest
|
||||
Get-Content bitcoind.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" -or $exeName -eq "test_kernel.exe") {
|
||||
Write-Host "Skipping $exeName (no manifest present)"
|
||||
return
|
||||
}
|
||||
|
||||
Write-Host "Checking $exeName"
|
||||
& mt.exe -nologo -inputresource:$_.FullName -validate_manifest
|
||||
}
|
||||
run: py -3 .github/ci-windows-cross.py check_manifests
|
||||
|
||||
- name: Run unit tests
|
||||
# Can't use ctest here like other jobs as we don't have a CMake build tree.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user