diff --git a/.github/workflows/windows-benchmark.yml b/.github/workflows/windows-benchmark.yml index c488af8971..d9a80586af 100644 --- a/.github/workflows/windows-benchmark.yml +++ b/.github/workflows/windows-benchmark.yml @@ -33,6 +33,7 @@ jobs: env: DRIVER_ARCH: x64 BUILD_SHARD: ${{ inputs.build_shard }} + ODBC_GOOGLE_DRIVER_VERSION: 99.99.99 steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 with: @@ -57,27 +58,10 @@ jobs: with: cmakeVersion: "3.29.0" - - - name: Download Installer from GCS - if: env.BUILD_SHARD == 'BqDriver' - shell: bash - run: | - mkdir -p installer_dl - # Sanitize the branch name replacing any character not in [a-zA-Z0-9-] with '_' - SANITIZED_BRANCH=$(echo "${{ github.ref_name }}" | sed -E 's/[^a-zA-Z0-9-]/_/g') - gcloud storage cp gs://odbc-integration-builds/${SANITIZED_BRANCH}/*.msi ./installer_dl/ - - name: Install the ODBC Driver shell: pwsh run: | - if ($env:BUILD_SHARD -eq 'BqDriver') { - $installer = Get-ChildItem -Path ".\installer_dl\*" -Include "*.msi" | Select-Object -First 1 - Write-Output "Executing odbc-driver-install.ps1 with LocalMsiPath: $($installer.FullName)" - .\ci\gha\builds\lib\odbc-driver-install.ps1 -LocalMsiPath $($installer.FullName) - } else { - Write-Output "Executing odbc-driver-install.ps1 for Simba driver (Core)" - .\ci\gha\builds\lib\odbc-driver-install.ps1 - } + .\ci\gha\builds\lib\odbc-driver-install.ps1 - name: Configure CMake and Build ONLY performance_test shell: bash diff --git a/.github/workflows/windows-cmake.yml b/.github/workflows/windows-cmake.yml index 753fcc45af..b56e92c88a 100644 --- a/.github/workflows/windows-cmake.yml +++ b/.github/workflows/windows-cmake.yml @@ -103,7 +103,7 @@ jobs: - name: Build cpp-bigquery-odbc shell: bash run: | - export VCPKG_ROOT="${TEMP}/.build/vcpkg" + export VCPKG_ROOT=$(cygpath -w "${TEMP}/.build/vcpkg") export CLOUDSDK_PYTHON="${{ steps.py311.outputs.python-path }}" export CMAKE_OUT="c:/b" @@ -159,7 +159,7 @@ jobs: - name: Running testcases shell: bash run: | - export VCPKG_ROOT="${TEMP}/.build/vcpkg" + export VCPKG_ROOT=$(cygpath -w "${TEMP}/.build/vcpkg") export CLOUDSDK_PYTHON="${{ steps.py311.outputs.python-path }}" # Put the CMake output in a directory with more space and keep it short # to avoid running into the MSVC limits. diff --git a/.github/workflows/windows-release.yml b/.github/workflows/windows-release.yml index 3968dd48d6..b08e49f67a 100644 --- a/.github/workflows/windows-release.yml +++ b/.github/workflows/windows-release.yml @@ -106,7 +106,7 @@ jobs: - name: Build cpp-bigquery-odbc shell: bash run: | - export VCPKG_ROOT="${TEMP}/.build/vcpkg" + export VCPKG_ROOT=$(cygpath -w "${TEMP}/.build/vcpkg") export CLOUDSDK_PYTHON="${{ steps.py311.outputs.python-path }}" export CMAKE_OUT="c:/b" @@ -250,7 +250,7 @@ jobs: - name: Running testcases shell: bash run: | - export VCPKG_ROOT="${TEMP}/.build/vcpkg" + export VCPKG_ROOT=$(cygpath -w "${TEMP}/.build/vcpkg") export CLOUDSDK_PYTHON="${{ steps.py311.outputs.python-path }}" export MSVC_VERSION="${{ matrix.msvc }}" export BRANCH_IDENTIFIER=$(echo "${{ github.ref_name }}" | tr '[:punct:]' '_') diff --git a/CMakeLists.txt b/CMakeLists.txt index 3245f9bc0c..2863cb6fb8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,6 +19,9 @@ cmake_minimum_required(VERSION 3.14) if (NOT DEFINED PROJECT_VERSION) set(PROJECT_VERSION "1.0.0") endif () +set(VCPKG_OVERLAY_TRIPLETS + "${CMAKE_CURRENT_LIST_DIR}/ci/etc/triplets" + CACHE PATH "Path to custom triplets") project( cpp-bigquery-odbc diff --git a/ci/etc/triplets/arm64-linux.cmake b/ci/etc/triplets/arm64-linux.cmake new file mode 100644 index 0000000000..156b00831f --- /dev/null +++ b/ci/etc/triplets/arm64-linux.cmake @@ -0,0 +1,5 @@ +set(VCPKG_TARGET_ARCHITECTURE arm64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE dynamic) +set(VCPKG_CMAKE_SYSTEM_NAME Linux) +set(VCPKG_BUILD_TYPE release) diff --git a/ci/etc/triplets/arm64-osx.cmake b/ci/etc/triplets/arm64-osx.cmake new file mode 100644 index 0000000000..3fc418fad4 --- /dev/null +++ b/ci/etc/triplets/arm64-osx.cmake @@ -0,0 +1,4 @@ +set(VCPKG_TARGET_ARCHITECTURE arm64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE dynamic) +set(VCPKG_BUILD_TYPE release) diff --git a/ci/etc/triplets/x64-linux.cmake b/ci/etc/triplets/x64-linux.cmake new file mode 100644 index 0000000000..89fe792e81 --- /dev/null +++ b/ci/etc/triplets/x64-linux.cmake @@ -0,0 +1,5 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE dynamic) +set(VCPKG_CMAKE_SYSTEM_NAME Linux) +set(VCPKG_BUILD_TYPE release) diff --git a/ci/etc/triplets/x64-osx.cmake b/ci/etc/triplets/x64-osx.cmake new file mode 100644 index 0000000000..f6c40253a0 --- /dev/null +++ b/ci/etc/triplets/x64-osx.cmake @@ -0,0 +1,4 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE dynamic) +set(VCPKG_BUILD_TYPE release) diff --git a/ci/etc/triplets/x64-windows-static.cmake b/ci/etc/triplets/x64-windows-static.cmake new file mode 100644 index 0000000000..42894919c8 --- /dev/null +++ b/ci/etc/triplets/x64-windows-static.cmake @@ -0,0 +1,4 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) +set(VCPKG_CRT_LINKAGE static) +set(VCPKG_LIBRARY_LINKAGE static) +set(VCPKG_BUILD_TYPE release) diff --git a/ci/etc/triplets/x86-windows-static.cmake b/ci/etc/triplets/x86-windows-static.cmake new file mode 100644 index 0000000000..17f1627b0c --- /dev/null +++ b/ci/etc/triplets/x86-windows-static.cmake @@ -0,0 +1,4 @@ +set(VCPKG_TARGET_ARCHITECTURE x86) +set(VCPKG_CRT_LINKAGE static) +set(VCPKG_LIBRARY_LINKAGE static) +set(VCPKG_BUILD_TYPE release)