ci: Add and use ci-windows-cross.py helper #34548

pull maflcko wants to merge 8 commits into bitcoin:master from maflcko:2602-ci-win-cross changing 3 files +182 −59
  1. maflcko commented at 12:09 pm on February 10, 2026: member

    Currently the ci yaml has a mix of Bash and Pwsh snippets, which is problematic:

    • The shellcheck tool does not review the Bash
    • The ci yaml is not merged with master on re-runs, but the code is, leading to possibly confusing CI errors on re-runs
    • The Pwsh isn’t reviewed at all by any tool
    • It is tedious to run the CI commands locally on Windows

    Fix all issues by extracting them into a step-based Python script.

  2. ci: [refactor] Move print_version step into ci-windows-cross.py helper fa674d55df
  3. 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.
    faf7389466
  4. DrahtBot renamed this:
    ci: Add and use ci-windows-cross.py helper
    ci: Add and use ci-windows-cross.py helper
    on Feb 10, 2026
  5. DrahtBot added the label Tests on Feb 10, 2026
  6. DrahtBot commented at 12:10 pm on February 10, 2026: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK janb84, hebasto

    If your review is incorrectly listed, please copy-paste <!–meta-tag:bot-skip–> into the comment that the bot should ignore.

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #34418 (qa: Make wallet_multiwallet.py Windows crossbuild-compatible by hodlinator)
    • #33186 (wallet, test: Ancient Wallet Migration from v0.14.3 (no-HD and Single Chain) by w0xlt)
    • #32672 (ci: update pwsh to use custom shell that fails-fast by m3dwards)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

  7. maflcko force-pushed on Feb 10, 2026
  8. DrahtBot added the label CI failed on Feb 10, 2026
  9. ci: [refactor] Move config.ini rewrite to ci-windows-cross.py fac9c7bd66
  10. ci: [refactor] Move pyzmq install and get_previous_releases into ci-windows-cross.py 1111108685
  11. ci: Move run_functional_tests into ci-windows-cross.py
    This is mostly a refactor, except for putting the temp dirs into
    Path.cwd(), which makes running this locally easier.
    
    Note, the use of process_cpu_count() is intentional. It was only added
    in Python 3.13, according to
    https://docs.python.org/3/library/os.html#os.process_cpu_count .
    
    However, Python 3.13 is also the minimum required version on Windows,
    according to
    https://github.com/bitcoin/bitcoin/issues/29897#issuecomment-2940318094
    to avoid intermittent test failures.
    fa4a1cab6c
  12. ci: Set PREVIOUS_RELEASES_DIR env var in ci-windows-cross.py
    This uses the workspace instead of the runner.temp, so that it is easier
    to reproduce the CI locally.
    fa99ba5f14
  13. ci: [refactor] Move run_unit_tests to ci-windows-cross.py fa2719ab1b
  14. ci: [refactor] Use pathlib over os.path fa13b13239
  15. maflcko force-pushed on Feb 10, 2026
  16. DrahtBot removed the label CI failed on Feb 10, 2026
  17. maflcko commented at 3:26 pm on February 10, 2026: member
    (I compared the ci logs and they look correct)
  18. janb84 commented at 4:27 pm on February 10, 2026: contributor

    ACK fa13b13239e53b7198eabab2a3771277a2b433e1

    Easy to follow transition to python because of the split of commits. It’s a “copy” of the ci commands. Validated by checking/code reviewing on a commit by commit basis

    I’ve browsed through the ci logs to validate that the outcome is the same. Looks correct (sometimes a bit weird like extracting to D:\a\bitcoin\bitcoin but that’s equal to master).

    I also support the migration from commands in the GH specific ci.yml to python scripts. This may come in handy if we have to transition away, given the state of GH.

  19. maflcko requested review from hebasto on Feb 12, 2026
  20. DrahtBot added the label CI failed on Feb 12, 2026
  21. maflcko force-pushed on Feb 12, 2026
  22. maflcko force-pushed on Feb 12, 2026
  23. DrahtBot removed the label CI failed on Feb 12, 2026
  24. janb84 commented at 12:23 pm on February 13, 2026: contributor

    re ACK fa13b13239e53b7198eabab2a3771277a2b433e1

    changes since last ACK: undoing of a move (Set up VS Developer Prompt) to fix the CI. none

  25. maflcko commented at 1:16 pm on February 13, 2026: member

    re ACK fa13b13

    changes since last ACK:

    * undoing of a move (Set up VS Developer Prompt) to fix the CI.
    

    I don’t think there were any changes since the last ack, since the commit hashes are fully identical. There was just a temporary push+force-push.

  26. janb84 commented at 1:27 pm on February 13, 2026: contributor

    re ACK fa13b13 changes since last ACK:

    0* undoing of a move (Set up VS Developer Prompt) to fix the CI.
    

    I don’t think there were any changes since the last ack, since the commit hashes are fully identical. There was just a temporary push+force-push.

    This comparison GH is not correct, which made the confusion; https://github.com/bitcoin/bitcoin/compare/fae91a820f2430eefef16b9c8822a74e85564cf7..fa13b13239e53b7198eabab2a3771277a2b433e1

    Checked with local version on fae91a8, you are correct. Sorry for this.

  27. hebasto commented at 2:05 pm on February 13, 2026: member
    Concept ACK.
  28. hebasto approved
  29. hebasto commented at 2:30 pm on February 13, 2026: member
    ACK fa13b13239e53b7198eabab2a3771277a2b433e1, I have reviewed the code and it looks OK.
  30. hebasto merged this on Feb 13, 2026
  31. hebasto closed this on Feb 13, 2026

  32. maflcko deleted the branch on Feb 13, 2026

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-02-17 06:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me