From 91f92e2efb3e7da5fe2326396bc0a2cdc0e38a17 Mon Sep 17 00:00:00 2001
From: David Li
Date: Thu, 13 Aug 2026 13:56:29 +0900
Subject: [PATCH 01/11] ci: add vcpkg/Windows ARM pipeline for CMake build
Closes #4860.
---
.github/workflows/native-vcpkg.yml | 110 +++++++++++++++++++++++++++
.github/workflows/native-windows.yml | 51 -------------
2 files changed, 110 insertions(+), 51 deletions(-)
create mode 100644 .github/workflows/native-vcpkg.yml
diff --git a/.github/workflows/native-vcpkg.yml b/.github/workflows/native-vcpkg.yml
new file mode 100644
index 0000000000..6b5ca4646e
--- /dev/null
+++ b/.github/workflows/native-vcpkg.yml
@@ -0,0 +1,110 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+name: Native Libraries (vcpkg)
+
+on:
+ pull_request:
+ branches:
+ - main
+ paths:
+ - "c/**"
+ - "ci/**"
+ - "glib/**"
+ - "go/**"
+ - "python/**"
+ - "ruby/**"
+ - ".github/workflows/native-windows.yml"
+ push:
+ branches-ignore:
+ - 'dependabot/**'
+ paths:
+ - "c/**"
+ - "ci/**"
+ - "glib/**"
+ - "go/**"
+ - "python/**"
+ - "ruby/**"
+ - ".github/workflows/native-windows.yml"
+ workflow_call:
+
+concurrency:
+ group: ${{ github.repository }}-${{ github.ref }}-${{ github.workflow }}-vcpkg
+ cancel-in-progress: true
+
+permissions:
+ contents: read
+
+defaults:
+ run:
+ shell: pwsh
+
+jobs:
+ drivers-vcpkg:
+ name: "C/C++ (vcpkg/${{ matrix.os }}/${{ matrix.config }})"
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ include:
+ - { os: windows-latest, arch: x64, config: debug, msystem: UCRT64, env: x86_64 }
+ - { os: windows-latest, arch: x64, config: release, msystem: UCRT64, env: x86_64 }
+ - { os: windows-11-arm, arch: arm64, config: release, msystem: CLANGARM64, env: clang-aarch64 }
+ env:
+ VCPKG_ROOT: ${{ github.workspace }}/vcpkg
+ steps:
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
+ with:
+ fetch-depth: 0
+ persist-credentials: false
+ - uses: msys2/setup-msys2@66cd2cce69caa17b53920067426061ca1de3a884 # v2.32.0
+ id: msys2
+ with:
+ msystem: ${{ matrix.msystem }}
+ # Needed for gendef tool in GoUtils.cmake
+ install: |
+ mingw-w64-${{ matrix.env }}-tools
+ - name: Add CLANGARM64 toolchain to PATH
+ run: |
+ "${{ steps.msys2.outputs.msys2-location }}\clangarm64\bin" |
+ Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
+ - name: Setup MSYS2 tools
+ if: matrix.arch == 'arm64'
+ shell: msys2 {0}
+ run: |
+ # Needed for CGO
+ pacman --noconfirm -S mingw-w64-${{ matrix.env }}-gcc-compat
+ - name: Install vcpkg
+ shell: bash
+ run: ci/scripts/install_vcpkg.sh "$VCPKG_ROOT"
+ - name: Install vcpkg dependencies
+ working-directory: c
+ run: |
+ $VCPKG_ROOT\vcpkg.exe install libpq sqlite3 --triplet ${{ matrix.arch }}-windows
+ - name: Build and Install (No ASan)
+ env:
+ CMAKE_BUILD_TYPE: ${{ matrix.config }}
+ run: |
+ cmake .\c\ --preset windows-${{ matrix.config }} -DCMAKE_VERBOSE_MAKEFILE=ON
+
+ cmake --build .\build\${{ matrix.config }} --target install --config ${{ matrix.config }} --parallel
+ - name: Test
+ env:
+ BUILD_ALL: "0"
+ BUILD_DRIVER_MANAGER: "1"
+ BUILD_DRIVER_MANAGER_USER_CONFIG_TEST: "1"
+ BUILD_DRIVER_SQLITE: "1"
+ run: .\ci\scripts\cpp_test.ps1 $pwd\build\${{ matrix.config }} $pwd\local\${{ matrix.config }}
diff --git a/.github/workflows/native-windows.yml b/.github/workflows/native-windows.yml
index 10e889a943..9a53aaf7e5 100644
--- a/.github/workflows/native-windows.yml
+++ b/.github/workflows/native-windows.yml
@@ -357,54 +357,3 @@ jobs:
BUILD_ALL: "0"
BUILD_DRIVER_SQLITE: "1"
run: .\ci\scripts\python_test.ps1 $pwd $pwd\build
-
- # ------------------------------------------------------------
- # MSVC/vcpkg build (no Conda)
- # ------------------------------------------------------------
- drivers-vcpkg:
- name: "C/C++ (vcpkg/${{ matrix.os }}/${{ matrix.config }})"
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- os: ["windows-latest"]
- arch: ["x64"]
- config: ["debug", "release"]
- steps:
- - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- with:
- fetch-depth: 0
- persist-credentials: false
- - name: Setup MSYS2 tools
- run: |
- # msys64 is pre-installed on windows but not added to path
- $env:PATH = "C:\msys64\mingw64\bin;C:\msys64\usr\bin\;C:\msys64\ucrt64\bin;$env:PATH"
- echo "PATH=$env:PATH" >> $env:GITHUB_ENV
-
- # Needed for gendef tool in GoUtils.cmake
- pacman --noconfirm -S mingw-w64-x86_64-tools
- - name: Install vcpkg
- shell: bash
- env:
- VCPKG_ROOT: ${{ github.workspace }}/vcpkg
- run: ci/scripts/install_vcpkg.sh "$VCPKG_ROOT"
- - name: Install vcpkg dependencies
- working-directory: c
- env:
- VCPKG_ROOT: ${{ github.workspace }}/vcpkg
- run: |
- ${{ github.workspace }}/vcpkg/vcpkg.exe install libpq sqlite3 --triplet ${{ matrix.arch }}-windows
- - name: Build and Install (No ASan)
- env:
- CMAKE_BUILD_TYPE: ${{ matrix.config }}
- VCPKG_ROOT: ${{ github.workspace }}/vcpkg
- run: |
- cmake .\c\ --preset windows-${{ matrix.config }} -DCMAKE_VERBOSE_MAKEFILE=ON
-
- cmake --build .\build\${{ matrix.config }} --target install --config ${{ matrix.config }} --parallel
- - name: Test
- env:
- BUILD_ALL: "0"
- BUILD_DRIVER_MANAGER: "1"
- BUILD_DRIVER_MANAGER_USER_CONFIG_TEST: "1"
- BUILD_DRIVER_SQLITE: "1"
- run: .\ci\scripts\cpp_test.ps1 $pwd\build\${{ matrix.config }} $pwd\local\${{ matrix.config }}
From 8b46a11c20cdfceebe4204e31cd78b0d7a76ecb8 Mon Sep 17 00:00:00 2001
From: David Li
Date: Thu, 13 Aug 2026 14:16:15 +0900
Subject: [PATCH 02/11] fix injection
---
.github/workflows/native-vcpkg.yml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/native-vcpkg.yml b/.github/workflows/native-vcpkg.yml
index 6b5ca4646e..9553a50807 100644
--- a/.github/workflows/native-vcpkg.yml
+++ b/.github/workflows/native-vcpkg.yml
@@ -78,8 +78,10 @@ jobs:
install: |
mingw-w64-${{ matrix.env }}-tools
- name: Add CLANGARM64 toolchain to PATH
+ env:
+ MSYS_LOCATION: ${{ steps.msys2.outputs.msys2-location }}
run: |
- "${{ steps.msys2.outputs.msys2-location }}\clangarm64\bin" |
+ "$($env:MSYS_LOCATION)\clangarm64\bin" |
Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Setup MSYS2 tools
if: matrix.arch == 'arm64'
From 560f9679a382ec1ff867fea3f1843bcd09b2dc3b Mon Sep 17 00:00:00 2001
From: David Li
Date: Thu, 13 Aug 2026 14:17:25 +0900
Subject: [PATCH 03/11] fix syntax
---
.github/workflows/native-vcpkg.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/native-vcpkg.yml b/.github/workflows/native-vcpkg.yml
index 9553a50807..55c2b93bf7 100644
--- a/.github/workflows/native-vcpkg.yml
+++ b/.github/workflows/native-vcpkg.yml
@@ -95,7 +95,7 @@ jobs:
- name: Install vcpkg dependencies
working-directory: c
run: |
- $VCPKG_ROOT\vcpkg.exe install libpq sqlite3 --triplet ${{ matrix.arch }}-windows
+ & "$($env:VCPKG_ROOT)"\vcpkg.exe install libpq sqlite3 --triplet ${{ matrix.arch }}-windows
- name: Build and Install (No ASan)
env:
CMAKE_BUILD_TYPE: ${{ matrix.config }}
From 57fe9ee6f6948140c1ddeab7bfba8f461257e90e Mon Sep 17 00:00:00 2001
From: David Li
Date: Thu, 13 Aug 2026 14:19:08 +0900
Subject: [PATCH 04/11] fix syntax
---
.github/workflows/native-vcpkg.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/native-vcpkg.yml b/.github/workflows/native-vcpkg.yml
index 55c2b93bf7..6677d29966 100644
--- a/.github/workflows/native-vcpkg.yml
+++ b/.github/workflows/native-vcpkg.yml
@@ -55,7 +55,7 @@ defaults:
jobs:
drivers-vcpkg:
- name: "C/C++ (vcpkg/${{ matrix.os }}/${{ matrix.config }})"
+ name: "C/C++ (${{ matrix.os }}/${{ matrix.config }})"
runs-on: ${{ matrix.os }}
strategy:
matrix:
@@ -95,7 +95,7 @@ jobs:
- name: Install vcpkg dependencies
working-directory: c
run: |
- & "$($env:VCPKG_ROOT)"\vcpkg.exe install libpq sqlite3 --triplet ${{ matrix.arch }}-windows
+ & "$($env:VCPKG_ROOT)\vcpkg.exe" install libpq sqlite3 --triplet ${{ matrix.arch }}-windows
- name: Build and Install (No ASan)
env:
CMAKE_BUILD_TYPE: ${{ matrix.config }}
From 5b971f82cfcd943f95ac4e9278c1b6067229b5cf Mon Sep 17 00:00:00 2001
From: David Li
Date: Thu, 13 Aug 2026 14:54:33 +0900
Subject: [PATCH 05/11] more fixes
---
.github/workflows/native-vcpkg.yml | 22 +++++++++++++++++-----
c/cmake_modules/GoUtils.cmake | 2 +-
2 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/.github/workflows/native-vcpkg.yml b/.github/workflows/native-vcpkg.yml
index 6677d29966..4ee0949cbe 100644
--- a/.github/workflows/native-vcpkg.yml
+++ b/.github/workflows/native-vcpkg.yml
@@ -60,10 +60,12 @@ jobs:
strategy:
matrix:
include:
- - { os: windows-latest, arch: x64, config: debug, msystem: UCRT64, env: x86_64 }
- - { os: windows-latest, arch: x64, config: release, msystem: UCRT64, env: x86_64 }
- - { os: windows-11-arm, arch: arm64, config: release, msystem: CLANGARM64, env: clang-aarch64 }
+ - { os: windows-latest, arch: x64, config: debug, msystem: UCRT64, env: x86_64, triplet: x64-windows }
+ - { os: windows-latest, arch: x64, config: release, msystem: UCRT64, env: x86_64, triplet: x64-windows }
+ - { os: windows-11-arm, arch: arm64, config: release, msystem: CLANGARM64, env: clang-aarch64, triplet: arm64-windows-release }
env:
+ VCPKG_DEFAULT_BINARY_CACHE: ${{ github.workspace }}/vcpkg-cache
+ VCPKG_DEFAULT_TRIPLET: ${{ matrix.triplet }}
VCPKG_ROOT: ${{ github.workspace }}/vcpkg
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
@@ -74,6 +76,7 @@ jobs:
id: msys2
with:
msystem: ${{ matrix.msystem }}
+ update: true
# Needed for gendef tool in GoUtils.cmake
install: |
mingw-w64-${{ matrix.env }}-tools
@@ -89,18 +92,27 @@ jobs:
run: |
# Needed for CGO
pacman --noconfirm -S mingw-w64-${{ matrix.env }}-gcc-compat
+ - name: Cache vcpkg packages
+ uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
+ with:
+ path: ${{ env.VCPKG_DEFAULT_BINARY_CACHE }}
+ key: vcpkg-${{ runner.os }}-${{ matrix.arch }}-${{ hashFiles('.env', 'ci/vcpkg/**', 'c/**/vcpkg.json', '.github/workflows/native-vcpkg.yml') }}
- name: Install vcpkg
shell: bash
run: ci/scripts/install_vcpkg.sh "$VCPKG_ROOT"
- name: Install vcpkg dependencies
working-directory: c
run: |
- & "$($env:VCPKG_ROOT)\vcpkg.exe" install libpq sqlite3 --triplet ${{ matrix.arch }}-windows
+ & "$($env:VCPKG_ROOT)\vcpkg.exe" install libpq sqlite3 `
+ --overlay-triplets "$pwd\..\ci\vcpkg\triplets"
- name: Build and Install (No ASan)
env:
CMAKE_BUILD_TYPE: ${{ matrix.config }}
run: |
- cmake .\c\ --preset windows-${{ matrix.config }} -DCMAKE_VERBOSE_MAKEFILE=ON
+ cmake .\c\ --preset windows-${{ matrix.config }} `
+ -DCMAKE_VERBOSE_MAKEFILE=ON `
+ -DVCPKG_OVERLAY_TRIPLETS="$pwd\ci\vcpkg\triplets" `
+ -DVCPKG_TARGET_TRIPLET=$env:VCPKG_DEFAULT_TRIPLET
cmake --build .\build\${{ matrix.config }} --target install --config ${{ matrix.config }} --parallel
- name: Test
diff --git a/c/cmake_modules/GoUtils.cmake b/c/cmake_modules/GoUtils.cmake
index 567dd75ffc..601ba5f85d 100644
--- a/c/cmake_modules/GoUtils.cmake
+++ b/c/cmake_modules/GoUtils.cmake
@@ -193,7 +193,7 @@ function(add_go_lib GO_MOD_DIR GO_LIBNAME)
set(EXTLDFLAGS ",--version-script=${REPOSITORY_ROOT}/c/symbols.map")
endif()
- if(NOT APPLE)
+ if(NOT APPLE AND NOT WIN32)
set(EXTLDFLAGS "${EXTLDFLAGS},-soname,${LIB_NAME_SHARED}.${ADBC_SO_VERSION}")
endif()
From 01a5fee1af81a9ab4b94e8402d22634ca691e3e6 Mon Sep 17 00:00:00 2001
From: David Li
Date: Thu, 13 Aug 2026 15:04:46 +0900
Subject: [PATCH 06/11] more fixes
---
.github/workflows/native-vcpkg.yml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/.github/workflows/native-vcpkg.yml b/.github/workflows/native-vcpkg.yml
index 4ee0949cbe..02dc232aa9 100644
--- a/.github/workflows/native-vcpkg.yml
+++ b/.github/workflows/native-vcpkg.yml
@@ -92,6 +92,10 @@ jobs:
run: |
# Needed for CGO
pacman --noconfirm -S mingw-w64-${{ matrix.env }}-gcc-compat
+ - name: Ensure vcpkg binary cache directory
+ run: |
+ New-Item -ItemType Directory -Force `
+ $env:VCPKG_DEFAULT_BINARY_CACHE | Out-Null
- name: Cache vcpkg packages
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
From d08d44cabcddb55546e64f3e712118089cbaa8e1 Mon Sep 17 00:00:00 2001
From: David Li
Date: Thu, 13 Aug 2026 15:22:05 +0900
Subject: [PATCH 07/11] more fixes
---
ci/vcpkg/triplets/arm64-windows-release.cmake | 21 +++++++++++++++++++
1 file changed, 21 insertions(+)
create mode 100644 ci/vcpkg/triplets/arm64-windows-release.cmake
diff --git a/ci/vcpkg/triplets/arm64-windows-release.cmake b/ci/vcpkg/triplets/arm64-windows-release.cmake
new file mode 100644
index 0000000000..a4f7c3d963
--- /dev/null
+++ b/ci/vcpkg/triplets/arm64-windows-release.cmake
@@ -0,0 +1,21 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+set(VCPKG_TARGET_ARCHITECTURE arm64)
+set(VCPKG_CRT_LINKAGE dynamic)
+set(VCPKG_LIBRARY_LINKAGE dynamic)
+set(VCPKG_BUILD_TYPE release)
From f4b663bffcbdc47fb143c4139fe0a333ea1e5f47 Mon Sep 17 00:00:00 2001
From: David Li
Date: Thu, 13 Aug 2026 15:53:09 +0900
Subject: [PATCH 08/11] debug
---
.github/workflows/native-vcpkg.yml | 22 +++++++++++++++++++++-
.github/workflows/packaging.yml | 27 ++++++++++++++-------------
2 files changed, 35 insertions(+), 14 deletions(-)
diff --git a/.github/workflows/native-vcpkg.yml b/.github/workflows/native-vcpkg.yml
index 02dc232aa9..fbdb1e1b66 100644
--- a/.github/workflows/native-vcpkg.yml
+++ b/.github/workflows/native-vcpkg.yml
@@ -109,14 +109,34 @@ jobs:
run: |
& "$($env:VCPKG_ROOT)\vcpkg.exe" install libpq sqlite3 `
--overlay-triplets "$pwd\..\ci\vcpkg\triplets"
+ - name: Diagnose vcpkg dependency installation
+ run: |
+ $tripletDirectory = Join-Path `
+ $env:VCPKG_ROOT "installed\$env:VCPKG_DEFAULT_TRIPLET"
+ Write-Host "vcpkg triplet directory: $tripletDirectory"
+ Write-Host "libpq header exists: $(Test-Path `
+ (Join-Path $tripletDirectory 'include\libpq-fe.h'))"
+ Write-Host "PostgreSQL wrapper exists: $(Test-Path `
+ (Join-Path $tripletDirectory `
+ 'share\postgresql\vcpkg-cmake-wrapper.cmake'))"
+ Write-Host "libpq libraries:"
+ Get-ChildItem -Path (Join-Path $tripletDirectory 'lib') `
+ -Filter '*pq*.lib' -File | ForEach-Object FullName
+ Write-Host "vcpkg triplet directory contents:"
+ Get-ChildItem -Path $tripletDirectory -Recurse |
+ ForEach-Object FullName
- name: Build and Install (No ASan)
env:
CMAKE_BUILD_TYPE: ${{ matrix.config }}
+ VCPKG_TRACE_FIND_PACKAGE: "ON"
+ VCPKG_VERBOSE: "ON"
run: |
- cmake .\c\ --preset windows-${{ matrix.config }} `
+ cmake --debug-find-pkg=PostgreSQL `
+ .\c\ --preset windows-${{ matrix.config }} `
-DCMAKE_VERBOSE_MAKEFILE=ON `
-DVCPKG_OVERLAY_TRIPLETS="$pwd\ci\vcpkg\triplets" `
-DVCPKG_TARGET_TRIPLET=$env:VCPKG_DEFAULT_TRIPLET
+ if (-not $?) { throw "failed to configure CMake" }
cmake --build .\build\${{ matrix.config }} --target install --config ${{ matrix.config }} --parallel
- name: Test
diff --git a/.github/workflows/packaging.yml b/.github/workflows/packaging.yml
index 78f27d1535..905589eeb4 100644
--- a/.github/workflows/packaging.yml
+++ b/.github/workflows/packaging.yml
@@ -18,19 +18,20 @@
name: Packaging
on:
- pull_request:
- branches:
- - main
- paths:
- - ".env"
- - "c/**"
- - "ci/**"
- - "dev/release/verify-apt.sh"
- - "dev/release/verify-yum.sh"
- - "glib/**"
- - "python/**"
- - "ruby/**"
- - ".github/workflows/packaging.yml"
+ # TODO: revert before merge
+ # pull_request:
+ # branches:
+ # - main
+ # paths:
+ # - ".env"
+ # - "c/**"
+ # - "ci/**"
+ # - "dev/release/verify-apt.sh"
+ # - "dev/release/verify-yum.sh"
+ # - "glib/**"
+ # - "python/**"
+ # - "ruby/**"
+ # - ".github/workflows/packaging.yml"
push:
# Automatically build on RC tags
From f50e5413c7665087f0575dcc7d92b48b374db3c2 Mon Sep 17 00:00:00 2001
From: David Li
Date: Thu, 13 Aug 2026 16:10:52 +0900
Subject: [PATCH 09/11] fix?
---
.github/workflows/native-vcpkg.yml | 23 ++---------------------
1 file changed, 2 insertions(+), 21 deletions(-)
diff --git a/.github/workflows/native-vcpkg.yml b/.github/workflows/native-vcpkg.yml
index fbdb1e1b66..ad805efcf3 100644
--- a/.github/workflows/native-vcpkg.yml
+++ b/.github/workflows/native-vcpkg.yml
@@ -109,33 +109,14 @@ jobs:
run: |
& "$($env:VCPKG_ROOT)\vcpkg.exe" install libpq sqlite3 `
--overlay-triplets "$pwd\..\ci\vcpkg\triplets"
- - name: Diagnose vcpkg dependency installation
- run: |
- $tripletDirectory = Join-Path `
- $env:VCPKG_ROOT "installed\$env:VCPKG_DEFAULT_TRIPLET"
- Write-Host "vcpkg triplet directory: $tripletDirectory"
- Write-Host "libpq header exists: $(Test-Path `
- (Join-Path $tripletDirectory 'include\libpq-fe.h'))"
- Write-Host "PostgreSQL wrapper exists: $(Test-Path `
- (Join-Path $tripletDirectory `
- 'share\postgresql\vcpkg-cmake-wrapper.cmake'))"
- Write-Host "libpq libraries:"
- Get-ChildItem -Path (Join-Path $tripletDirectory 'lib') `
- -Filter '*pq*.lib' -File | ForEach-Object FullName
- Write-Host "vcpkg triplet directory contents:"
- Get-ChildItem -Path $tripletDirectory -Recurse |
- ForEach-Object FullName
- name: Build and Install (No ASan)
env:
CMAKE_BUILD_TYPE: ${{ matrix.config }}
- VCPKG_TRACE_FIND_PACKAGE: "ON"
- VCPKG_VERBOSE: "ON"
run: |
- cmake --debug-find-pkg=PostgreSQL `
- .\c\ --preset windows-${{ matrix.config }} `
+ cmake .\c\ --preset windows-${{ matrix.config }} `
-DCMAKE_VERBOSE_MAKEFILE=ON `
-DVCPKG_OVERLAY_TRIPLETS="$pwd\ci\vcpkg\triplets" `
- -DVCPKG_TARGET_TRIPLET=$env:VCPKG_DEFAULT_TRIPLET
+ "-DVCPKG_TARGET_TRIPLET=$($env:VCPKG_DEFAULT_TRIPLET)"
if (-not $?) { throw "failed to configure CMake" }
cmake --build .\build\${{ matrix.config }} --target install --config ${{ matrix.config }} --parallel
From e9c09ab196d9082aa74bf92f592168d4a22f988a Mon Sep 17 00:00:00 2001
From: David Li
Date: Thu, 13 Aug 2026 16:29:16 +0900
Subject: [PATCH 10/11] revert
---
.github/workflows/packaging.yml | 27 +++++++++++++--------------
1 file changed, 13 insertions(+), 14 deletions(-)
diff --git a/.github/workflows/packaging.yml b/.github/workflows/packaging.yml
index 905589eeb4..78f27d1535 100644
--- a/.github/workflows/packaging.yml
+++ b/.github/workflows/packaging.yml
@@ -18,20 +18,19 @@
name: Packaging
on:
- # TODO: revert before merge
- # pull_request:
- # branches:
- # - main
- # paths:
- # - ".env"
- # - "c/**"
- # - "ci/**"
- # - "dev/release/verify-apt.sh"
- # - "dev/release/verify-yum.sh"
- # - "glib/**"
- # - "python/**"
- # - "ruby/**"
- # - ".github/workflows/packaging.yml"
+ pull_request:
+ branches:
+ - main
+ paths:
+ - ".env"
+ - "c/**"
+ - "ci/**"
+ - "dev/release/verify-apt.sh"
+ - "dev/release/verify-yum.sh"
+ - "glib/**"
+ - "python/**"
+ - "ruby/**"
+ - ".github/workflows/packaging.yml"
push:
# Automatically build on RC tags
From bf89c4434a3f8d681eb72d03500adec82f0fe5ce Mon Sep 17 00:00:00 2001
From: David Li
Date: Thu, 13 Aug 2026 16:38:45 +0900
Subject: [PATCH 11/11] feedback
---
.github/workflows/native-vcpkg.yml | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/.github/workflows/native-vcpkg.yml b/.github/workflows/native-vcpkg.yml
index ad805efcf3..26c8124b43 100644
--- a/.github/workflows/native-vcpkg.yml
+++ b/.github/workflows/native-vcpkg.yml
@@ -28,7 +28,7 @@ on:
- "go/**"
- "python/**"
- "ruby/**"
- - ".github/workflows/native-windows.yml"
+ - ".github/workflows/native-vcpkg.yml"
push:
branches-ignore:
- 'dependabot/**'
@@ -39,7 +39,7 @@ on:
- "go/**"
- "python/**"
- "ruby/**"
- - ".github/workflows/native-windows.yml"
+ - ".github/workflows/native-vcpkg.yml"
workflow_call:
concurrency:
@@ -60,9 +60,9 @@ jobs:
strategy:
matrix:
include:
- - { os: windows-latest, arch: x64, config: debug, msystem: UCRT64, env: x86_64, triplet: x64-windows }
- - { os: windows-latest, arch: x64, config: release, msystem: UCRT64, env: x86_64, triplet: x64-windows }
- - { os: windows-11-arm, arch: arm64, config: release, msystem: CLANGARM64, env: clang-aarch64, triplet: arm64-windows-release }
+ - { os: windows-latest, arch: x64, config: debug, msystem: UCRT64, msysbin: mingw64, env: x86_64, triplet: x64-windows }
+ - { os: windows-latest, arch: x64, config: release, msystem: UCRT64, msysbin: mingw64, env: x86_64, triplet: x64-windows }
+ - { os: windows-11-arm, arch: arm64, config: release, msystem: CLANGARM64, msysbin: clangarm64, env: clang-aarch64, triplet: arm64-windows-release }
env:
VCPKG_DEFAULT_BINARY_CACHE: ${{ github.workspace }}/vcpkg-cache
VCPKG_DEFAULT_TRIPLET: ${{ matrix.triplet }}
@@ -80,11 +80,11 @@ jobs:
# Needed for gendef tool in GoUtils.cmake
install: |
mingw-w64-${{ matrix.env }}-tools
- - name: Add CLANGARM64 toolchain to PATH
+ - name: Add msys2 toolchain to PATH
env:
MSYS_LOCATION: ${{ steps.msys2.outputs.msys2-location }}
run: |
- "$($env:MSYS_LOCATION)\clangarm64\bin" |
+ "$($env:MSYS_LOCATION)\${{ matrix.msysbin }}\bin" |
Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Setup MSYS2 tools
if: matrix.arch == 'arm64'