ci: Refactor Windows CI into script

This makes it easier to:

* Run the exact command of any CI type and step locally
* Re-Run older CI tasks on GHA and using the latest merged config.
  (.github/ci-windows.py is merged with master on re-runs, but
  .github/workflows/ci.yml is NOT)

Also, writing it in Python has benefits:

* Any developer (even non-Windows ones) can read and modify the script.
* Python is already required for tests, so no new dependency is needed.
This commit is contained in:
MarcoFalke
2026-02-04 09:23:49 +01:00
parent 9ec1ae0e98
commit fabdd4e823
2 changed files with 72 additions and 3 deletions

View File

@@ -218,10 +218,8 @@ jobs:
job-type: [standard, fuzz]
include:
- job-type: standard
generate-options: '-DBUILD_BENCH=ON -DBUILD_KERNEL_LIB=ON -DBUILD_UTIL_CHAINSTATE=ON -DCMAKE_COMPILE_WARNING_AS_ERROR=ON'
job-name: 'Windows native, VS 2022'
- job-type: fuzz
generate-options: '-DVCPKG_MANIFEST_NO_DEFAULT_FEATURES=ON -DVCPKG_MANIFEST_FEATURES="wallet" -DBUILD_GUI=OFF -DWITH_ZMQ=OFF -DBUILD_FOR_FUZZING=ON -DCMAKE_COMPILE_WARNING_AS_ERROR=ON'
job-name: 'Windows native, fuzz, VS 2022'
steps:
@@ -272,7 +270,7 @@ jobs:
- name: Generate build system
run: |
cmake -B build -Werror=dev --preset vs2022 -DCMAKE_TOOLCHAIN_FILE="${VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake" ${{ matrix.generate-options }}
py -3 .github/ci-windows.py ${{ matrix.job-type }} generate
- name: Save vcpkg binary cache
uses: actions/cache/save@v4