From fa561682ce4052bed91fac11f8fc872af5132437 Mon Sep 17 00:00:00 2001 From: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz> Date: Fri, 6 Feb 2026 09:24:34 +0100 Subject: [PATCH] ci: [refactor] Add .github/ci-windows.py prepare_tests step --- .github/ci-windows.py | 25 ++++++++++++++++++++++++- .github/workflows/ci.yml | 13 ++++--------- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/.github/ci-windows.py b/.github/ci-windows.py index d99ba2d97ec..d797814da1a 100755 --- a/.github/ci-windows.py +++ b/.github/ci-windows.py @@ -69,10 +69,31 @@ def build(): run(command + ["-j1", "--verbose"]) +def prepare_tests(ci_type): + if ci_type == "standard": + run([sys.executable, "-m", "pip", "install", "pyzmq"]) + elif ci_type == "fuzz": + repo_dir = os.path.join(os.environ["RUNNER_TEMP"], "qa-assets") + clone_cmd = [ + "git", + "clone", + "--depth=1", + "https://github.com/bitcoin-core/qa-assets", + repo_dir, + ] + run(clone_cmd) + print("Using qa-assets repo from commit ...") + run(["git", "-C", repo_dir, "log", "-1"]) + + def main(): parser = argparse.ArgumentParser(description="Utility to run Windows CI steps.") parser.add_argument("ci_type", choices=GENERATE_OPTIONS, help="CI type to run.") - steps = ["generate", "build"] + steps = [ + "generate", + "build", + "prepare_tests", + ] parser.add_argument("step", choices=steps, help="CI step to perform.") args = parser.parse_args() @@ -80,6 +101,8 @@ def main(): generate(args.ci_type) elif args.step == "build": build() + elif args.step == "prepare_tests": + prepare_tests(args.ci_type) if __name__ == "__main__": diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 75590d1d926..a088021eeed 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -310,6 +310,10 @@ jobs: run: | ctest --output-on-failure --stop-on-failure -j $NUMBER_OF_PROCESSORS -C Release + - name: Prepare tests + run: | + py -3 .github/ci-windows.py ${{ matrix.job-type }} prepare_tests + - name: Run functional tests if: matrix.job-type == 'standard' working-directory: build @@ -324,17 +328,8 @@ jobs: BITCOINCHAINSTATE: '${{ github.workspace }}\build\bin\Release\bitcoin-chainstate.exe' TEST_RUNNER_EXTRA: ${{ github.event_name != 'pull_request' && '--extended' || '' }} run: | - py -3 -m pip install pyzmq py -3 test/functional/test_runner.py --jobs $NUMBER_OF_PROCESSORS --quiet --tmpdirprefix="${RUNNER_TEMP}" --combinedlogslen=99999999 --timeout-factor=${TEST_RUNNER_TIMEOUT_FACTOR} ${TEST_RUNNER_EXTRA} - - name: Clone corpora - if: matrix.job-type == 'fuzz' - run: | - git clone --depth=1 https://github.com/bitcoin-core/qa-assets "${RUNNER_TEMP}/qa-assets" - cd "${RUNNER_TEMP}/qa-assets" - echo "Using qa-assets repo from commit ..." - git log -1 - - name: Run fuzz tests if: matrix.job-type == 'fuzz' working-directory: build