From f11618c0756a30ea8111849d403a474f1ae8a95f Mon Sep 17 00:00:00 2001 From: Stephen G Tuggy Date: Thu, 4 Jun 2026 00:15:55 +0000 Subject: [PATCH 01/13] Create vcpkg.json --- vcpkg.json | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 vcpkg.json diff --git a/vcpkg.json b/vcpkg.json new file mode 100644 index 000000000..1d2d001f7 --- /dev/null +++ b/vcpkg.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json", + "name": "boost-python", + "version-string": "1.91.0", + "builtin-baseline": "d015e31e90838a4c9dfa3eed45979bc70d9357fc", + "dependencies": [ + "boost-config", + "boost-core", + "boost-function", + "boost-graph", + "boost-iterator", + "boost-lexical-cast", + "boost-mpl", + "boost-preprocessor", + "boost-smart-ptr", + "boost-static-assert", + "boost-align", + "python3" + ] +} From 8638eea1e17592306c0c84c3fa845f61571ed136 Mon Sep 17 00:00:00 2001 From: Stephen G Tuggy Date: Thu, 4 Jun 2026 00:28:44 +0000 Subject: [PATCH 02/13] Update test-windows.yml --- .github/workflows/test-windows.yml | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index 576e1f441..1f95821cb 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -10,6 +10,10 @@ jobs: matrix: python-version: [3.7] + env: + VCPKG_DEFAULT_TRIPLET: 'x64-windows' + VCPKG_DEFAULT_HOST_TRIPLET: 'x64-windows' + steps: - uses: actions/checkout@v5 - uses: actions/setup-python@v6 @@ -17,23 +21,10 @@ jobs: python-version: ${{ matrix.python-version }} - uses: microsoft/setup-msbuild@v2 - name: setup boost prerequisites - uses: lukka/run-vcpkg@v6 + uses: lukka/run-vcpkg@b1a0dd252f06b9e25b3c022a9a03bd7a427fb6a2 # v11.6 with: - vcpkgGitCommitId: '88b1071e39f13b632644d9d953738d345a4ac055' - vcpkgDirectory: '${{ runner.workspace }}/vcpkg' - vcpkgTriplet: x64-windows - vcpkgArguments: > - boost-config - boost-core - boost-function - boost-graph - boost-iterator - boost-lexical-cast - boost-mpl - boost-preprocessor - boost-smart-ptr - boost-static-assert - boost-align + vcpkgDirectory: '${{ github.workspace }}/vcpkg' + runVcpkgInstall: true - name: setup faber run: | python -m pip install --upgrade pip From c77ed5db4d26d02ab0cf144cea266f65234e784c Mon Sep 17 00:00:00 2001 From: Stephen G Tuggy Date: Wed, 17 Jun 2026 19:05:48 +0000 Subject: [PATCH 03/13] Update test-windows.yml: Fix the `--with-boost-include` directory passed to the `faber` commands --- .github/workflows/test-windows.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index 1f95821cb..639fe65d5 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -33,8 +33,8 @@ jobs: - name: build shell: cmd run: | - faber --builddir=build cxx.name=msvc --log=commands --log=output --with-boost-include=${{ runner.workspace }}\vcpkg\installed\x64-windows\include -j4 + faber --builddir=build cxx.name=msvc --log=commands --log=output --with-boost-include=${{ github.workspace }}\vcpkg\installed\x64-windows\include -j4 - name: test shell: cmd run: | - faber --builddir=build cxx.name=msvc --with-boost-include=${{ runner.workspace }}\vcpkg\installed\x64-windows\include -j4 test.report + faber --builddir=build cxx.name=msvc --with-boost-include=${{ github.workspace }}\vcpkg\installed\x64-windows\include -j4 test.report From 210231aaad3a4deb0c40e4cd7bc5389bbd486fae Mon Sep 17 00:00:00 2001 From: Stephen G Tuggy Date: Wed, 17 Jun 2026 15:26:35 -0700 Subject: [PATCH 04/13] List vcpkg directory contents, looking for config.hpp --- .github/workflows/test-windows.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index 639fe65d5..35bfe79d6 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -25,6 +25,9 @@ jobs: with: vcpkgDirectory: '${{ github.workspace }}/vcpkg' runVcpkgInstall: true + - name: List directory contents + run: Get-ChildItem "${{ github.workspace }}/vcpkg" -Recurse -Force -File -Filter 'config.hpp' + shell: pwsh - name: setup faber run: | python -m pip install --upgrade pip From bd14940229d80e2e9339140200219c613555fba4 Mon Sep 17 00:00:00 2001 From: Stephen G Tuggy Date: Thu, 18 Jun 2026 10:01:12 -0700 Subject: [PATCH 05/13] vcpkg.json: Go back to the same commit for builtin-baseline as was used for `vcpkgGitCommitId` prior to this PR --- vcpkg.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vcpkg.json b/vcpkg.json index 1d2d001f7..2c5bb02df 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -2,7 +2,7 @@ "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json", "name": "boost-python", "version-string": "1.91.0", - "builtin-baseline": "d015e31e90838a4c9dfa3eed45979bc70d9357fc", + "builtin-baseline": "88b1071e39f13b632644d9d953738d345a4ac055", "dependencies": [ "boost-config", "boost-core", From b101bc845c4bbcb710acc68c5f7bba1511947018 Mon Sep 17 00:00:00 2001 From: Stephen G Tuggy Date: Thu, 18 Jun 2026 13:53:19 -0700 Subject: [PATCH 06/13] test-windows.yml: Set VCPKG_ROOT environment variable, etc. --- .github/workflows/test-windows.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index 35bfe79d6..f905e4c36 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -11,6 +11,7 @@ jobs: python-version: [3.7] env: + VCPKG_ROOT: ${{ github.workspace }}\vcpkg VCPKG_DEFAULT_TRIPLET: 'x64-windows' VCPKG_DEFAULT_HOST_TRIPLET: 'x64-windows' @@ -26,7 +27,7 @@ jobs: vcpkgDirectory: '${{ github.workspace }}/vcpkg' runVcpkgInstall: true - name: List directory contents - run: Get-ChildItem "${{ github.workspace }}/vcpkg" -Recurse -Force -File -Filter 'config.hpp' + run: Get-ChildItem "${{ github.workspace }}\vcpkg" -Recurse -Force -File -Filter 'config.hpp' shell: pwsh - name: setup faber run: | @@ -36,8 +37,8 @@ jobs: - name: build shell: cmd run: | - faber --builddir=build cxx.name=msvc --log=commands --log=output --with-boost-include=${{ github.workspace }}\vcpkg\installed\x64-windows\include -j4 + faber --builddir=build cxx.name=msvc --log=commands --log=output --with-boost-include="${{ github.workspace }}\vcpkg\installed\x64-windows\include" -j4 - name: test shell: cmd run: | - faber --builddir=build cxx.name=msvc --with-boost-include=${{ github.workspace }}\vcpkg\installed\x64-windows\include -j4 test.report + faber --builddir=build cxx.name=msvc --with-boost-include="${{ github.workspace }}\vcpkg\installed\x64-windows\include" -j4 test.report From 5f234eecb79cc734463568bc675a6db90435b048 Mon Sep 17 00:00:00 2001 From: Stephen G Tuggy Date: Thu, 18 Jun 2026 15:18:53 -0700 Subject: [PATCH 07/13] test-windows.yml: Make workflow much more like my other, working projects that use vcpkg --- .github/workflows/test-windows.yml | 51 ++++++++++++++++++++++++++++-- 1 file changed, 49 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index f905e4c36..0258b8aa9 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -11,34 +11,81 @@ jobs: python-version: [3.7] env: - VCPKG_ROOT: ${{ github.workspace }}\vcpkg + VCPKG_ROOT: '${{ github.workspace }}/vcpkg' + VCPKG_ASSET_SOURCES: "${{ github.workspace }}/vcpkgAssets" + X_VCPKG_ASSET_SOURCES: clear;x-azurl,file:///${{ github.workspace }}/vcpkgAssets,,readwrite + VCPKG_BINARY_SOURCES: clear;files,${{ github.workspace }}/vcpkgBin,readwrite + VCPKG_BUILD_TREES: "${{ github.workspace }}/vcpkgBuild" + VCPKG_INSTALL_OPTIONS: "--x-buildtrees-root=${{ github.workspace }}/vcpkgBuild" VCPKG_DEFAULT_TRIPLET: 'x64-windows' VCPKG_DEFAULT_HOST_TRIPLET: 'x64-windows' steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 + + - name: Restore vcpkg cache + id: cache-vcpkg-restore + uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 + with: + path: | + "${{ github.workspace }}/vcpkgAssets" + "${{ github.workspace }}/vcpkgBCache" + "${{ github.workspace }}/vcpkgBin" + "${{ github.workspace }}/vcpkgBuild" + key: vcpkgCache-${{ github.repository_owner }}-${{ matrix.os }}-${{ matrix.triplet }}-${{ hashFiles('vcpkg.json') }} + + - name: Create directories on cache miss + run: | + mkdir -p "${{ github.workspace }}/vcpkgAssets" + mkdir -p "${{ github.workspace }}/vcpkgBCache" + mkdir -p "${{ github.workspace }}/vcpkgBin" + mkdir -p "${{ github.workspace }}/vcpkgBuild" + if: steps.cache-vcpkg-restore.outputs.cache-hit != 'true' + - uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} + - uses: microsoft/setup-msbuild@v2 + + - name: Install CMake + uses: lukka/get-cmake@591817e96fcad43505fb4eae36172462abb3a42e # v4.3.3 + - name: setup boost prerequisites uses: lukka/run-vcpkg@b1a0dd252f06b9e25b3c022a9a03bd7a427fb6a2 # v11.6 with: vcpkgDirectory: '${{ github.workspace }}/vcpkg' + binaryCachePath: "${{ github.workspace }}/vcpkgBCache" runVcpkgInstall: true + - name: List directory contents run: Get-ChildItem "${{ github.workspace }}\vcpkg" -Recurse -Force -File -Filter 'config.hpp' shell: pwsh + - name: setup faber run: | python -m pip install --upgrade pip python -m pip install setuptools faber numpy faber --info=tools cxx + - name: build shell: cmd run: | faber --builddir=build cxx.name=msvc --log=commands --log=output --with-boost-include="${{ github.workspace }}\vcpkg\installed\x64-windows\include" -j4 + - name: test shell: cmd run: | faber --builddir=build cxx.name=msvc --with-boost-include="${{ github.workspace }}\vcpkg\installed\x64-windows\include" -j4 test.report + + - name: Save vcpkg cache + id: cache-vcpkg-save + uses: actions/cache/save@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 + with: + path: | + "${{ github.workspace }}/vcpkgAssets" + "${{ github.workspace }}/vcpkgBCache" + "${{ github.workspace }}/vcpkgBin" + "${{ github.workspace }}/vcpkgBuild" + key: ${{ steps.cache-vcpkg-restore.outputs.cache-primary-key }} + if: steps.cache-vcpkg-restore.outputs.cache-hit != 'true' From 7cf1dc4d17f47f68ebf6dbb8aceac06c0dfa66fb Mon Sep 17 00:00:00 2001 From: Stephen G Tuggy Date: Sat, 20 Jun 2026 07:58:36 -0700 Subject: [PATCH 08/13] test-windows.yml: Search the entire github.workspace directory and subdirectories for config.hpp --- .github/workflows/test-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index 0258b8aa9..243cae93a 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -59,7 +59,7 @@ jobs: runVcpkgInstall: true - name: List directory contents - run: Get-ChildItem "${{ github.workspace }}\vcpkg" -Recurse -Force -File -Filter 'config.hpp' + run: Get-ChildItem "${{ github.workspace }}" -Recurse -Force -File -Filter 'config.hpp' shell: pwsh - name: setup faber From bc83f51b72dfa10730010aef436b3cc13852c031 Mon Sep 17 00:00:00 2001 From: Stephen G Tuggy Date: Sat, 20 Jun 2026 08:03:10 -0700 Subject: [PATCH 09/13] test-windows.yml: Update `microsoft/setup-msbuild` to latest version, v3.0.0 --- .github/workflows/test-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index 243cae93a..ce1f70450 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -46,7 +46,7 @@ jobs: with: python-version: ${{ matrix.python-version }} - - uses: microsoft/setup-msbuild@v2 + - uses: microsoft/setup-msbuild@30375c66a4eea26614e0d39710365f22f8b0af57 # v3.0.0 - name: Install CMake uses: lukka/get-cmake@591817e96fcad43505fb4eae36172462abb3a42e # v4.3.3 From 8ed3dbe1ca01e37b3ef9b4ff21edcd74d2668b13 Mon Sep 17 00:00:00 2001 From: Stephen G Tuggy Date: Sat, 20 Jun 2026 09:41:14 -0700 Subject: [PATCH 10/13] vcpkg.json: Go back to latest vcpkg release for builtin-baseline --- vcpkg.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vcpkg.json b/vcpkg.json index 2c5bb02df..5a9e71d23 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -2,7 +2,7 @@ "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json", "name": "boost-python", "version-string": "1.91.0", - "builtin-baseline": "88b1071e39f13b632644d9d953738d345a4ac055", + "builtin-baseline": "f3e10653cc27d62a37a3763cd84b38bca07c6075", "dependencies": [ "boost-config", "boost-core", From 96a18911ea879a47535f8c9a8cfac52d3d2d685d Mon Sep 17 00:00:00 2001 From: Stephen G Tuggy Date: Sat, 20 Jun 2026 11:00:01 -0700 Subject: [PATCH 11/13] test-windows.yml: Try again to set the correct with-boost-include directory --- .github/workflows/test-windows.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index ce1f70450..706690470 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -71,12 +71,12 @@ jobs: - name: build shell: cmd run: | - faber --builddir=build cxx.name=msvc --log=commands --log=output --with-boost-include="${{ github.workspace }}\vcpkg\installed\x64-windows\include" -j4 + faber --builddir=build cxx.name=msvc --log=commands --log=output --with-boost-include="${{ github.workspace }}\\969f6665-88a2-4c98-938e-ca9259871fec\\vcpkg_installed\\x64-windows\\include" -j4 - name: test shell: cmd run: | - faber --builddir=build cxx.name=msvc --with-boost-include="${{ github.workspace }}\vcpkg\installed\x64-windows\include" -j4 test.report + faber --builddir=build cxx.name=msvc --with-boost-include="${{ github.workspace }}\\969f6665-88a2-4c98-938e-ca9259871fec\\vcpkg_installed\\x64-windows\\include" -j4 test.report - name: Save vcpkg cache id: cache-vcpkg-save From 2732a517b0bbd766bbfa549c0a214099e21e54cd Mon Sep 17 00:00:00 2001 From: Stephen G Tuggy Date: Sat, 20 Jun 2026 17:59:12 -0700 Subject: [PATCH 12/13] test-windows.yml: Set VCPKG_INSTALLED_DIR env var, and use its value in `--with-boost-include=` faber parameters --- .github/workflows/test-windows.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index 706690470..2515f527d 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -16,6 +16,7 @@ jobs: X_VCPKG_ASSET_SOURCES: clear;x-azurl,file:///${{ github.workspace }}/vcpkgAssets,,readwrite VCPKG_BINARY_SOURCES: clear;files,${{ github.workspace }}/vcpkgBin,readwrite VCPKG_BUILD_TREES: "${{ github.workspace }}/vcpkgBuild" + VCPKG_INSTALLED_DIR: "${{ github.workspace }}/vcpkgInstalled" VCPKG_INSTALL_OPTIONS: "--x-buildtrees-root=${{ github.workspace }}/vcpkgBuild" VCPKG_DEFAULT_TRIPLET: 'x64-windows' VCPKG_DEFAULT_HOST_TRIPLET: 'x64-windows' @@ -71,12 +72,12 @@ jobs: - name: build shell: cmd run: | - faber --builddir=build cxx.name=msvc --log=commands --log=output --with-boost-include="${{ github.workspace }}\\969f6665-88a2-4c98-938e-ca9259871fec\\vcpkg_installed\\x64-windows\\include" -j4 + faber --builddir=build cxx.name=msvc --log=commands --log=output --with-boost-include="${{ github.workspace }}/vcpkgInstalled" -j4 - name: test shell: cmd run: | - faber --builddir=build cxx.name=msvc --with-boost-include="${{ github.workspace }}\\969f6665-88a2-4c98-938e-ca9259871fec\\vcpkg_installed\\x64-windows\\include" -j4 test.report + faber --builddir=build cxx.name=msvc --with-boost-include="${{ github.workspace }}/vcpkgInstalled" -j4 test.report - name: Save vcpkg cache id: cache-vcpkg-save From 2460f88c8b351e60d8332d1377f654a42de41847 Mon Sep 17 00:00:00 2001 From: Stephen G Tuggy Date: Sat, 20 Jun 2026 23:15:32 -0700 Subject: [PATCH 13/13] test-windows.yml: Forgot to include `/x64-windows/include` in `--with-boost-include=` faber parameters --- .github/workflows/test-windows.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index 2515f527d..feb827d23 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -72,12 +72,12 @@ jobs: - name: build shell: cmd run: | - faber --builddir=build cxx.name=msvc --log=commands --log=output --with-boost-include="${{ github.workspace }}/vcpkgInstalled" -j4 + faber --builddir=build cxx.name=msvc --log=commands --log=output --with-boost-include="${{ github.workspace }}/vcpkgInstalled/x64-windows/include" -j4 - name: test shell: cmd run: | - faber --builddir=build cxx.name=msvc --with-boost-include="${{ github.workspace }}/vcpkgInstalled" -j4 test.report + faber --builddir=build cxx.name=msvc --with-boost-include="${{ github.workspace }}/vcpkgInstalled/x64-windows/include" -j4 test.report - name: Save vcpkg cache id: cache-vcpkg-save