Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/macos-cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
run: |
echo "vcpkg-version=$(cat ci/etc/vcpkg-version.txt)" >> "${GITHUB_OUTPUT}"
- name: Install bash >= 5.x and Ninja
run: brew install bash ninja
run: brew install bash ninja gnu-sed
- name: Download cmake formula(3.29.0) and installl
run: |
brew unlink cmake
Expand Down Expand Up @@ -89,7 +89,7 @@ jobs:
export ODBC_INCLUDE_PATH="$ODBC_PREFIX/include"
export VCPKG_ROOT="${{ runner.temp }}/vcpkg"

export PATH="$(brew --prefix)/bin:/opt/homebrew/bin:$VCPKG_ROOT:$PATH"
export PATH="$(brew --prefix gnu-sed)/libexec/gnubin:$(brew --prefix)/bin:/opt/homebrew/bin:$VCPKG_ROOT:$PATH"
export LDFLAGS="-L$(brew --prefix libiodbc)/lib -liconv"
bash ci/gha/builds/macos-cmake.sh
env:
Expand Down
17 changes: 16 additions & 1 deletion .github/workflows/windows-cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -167,12 +167,27 @@ jobs:
export MSVC_VERSION="${{ matrix.msvc }}"
export BRANCH_IDENTIFIER=$(echo "${{ github.ref_name }}" | tr '[:punct:]' '_')
export CPP_BIGQUERY_ODBC_TEST_TABLE_PREFIX="windows_${BRANCH_IDENTIFIER}_${MSVC_VERSION//[-:;.,?\/]/_}_${{ matrix.arch}}_$BUILD_SHARD"
export GOOGLE_APPLICATION_CREDENTIALS="$GOOGLE_GHA_CREDS_PATH"
export CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE="$GOOGLE_GHA_CREDS_PATH"
gcloud secrets versions access latest --secret=external-account-auth-keys --out-file="c:/b/external_account_auth_keys.json"
gcloud secrets versions access latest --secret=external-auth-token-script --out-file="c:/b/external_auth_token_raw.sh"
gcloud secrets versions access latest --secret=service-account-auth-keys --out-file="c:/b/service_account_auth_keys.json"
sed 's/print-access-token/print-access-token | tr -d "\\r"/g' c:/b/external_auth_token_raw.sh > c:/b/external_auth_token_patched.sh
tr -d '\r' < c:/b/external_auth_token_patched.sh > c:/b/external_auth_token.sh
chmod +x c:/b/external_auth_token.sh
c:/b/external_auth_token.sh c:/b/tkn.txt
sed "s|<some-path>|c:/b|g" c:/b/external_account_auth_keys.json > c:/b/external_account_auth_keys_final.json
export CPP_BIGQUERY_ODBC_TEST_EXTERNAL_ACCOUNT_AUTH_KEY="c:\\b\\external_account_auth_keys_final.json"
export CPP_BIGQUERY_ODBC_TEST_SERVICE_ACCOUNT_AUTH_KEY="C:\\b\\service_account_auth_keys.json"
export GOOGLE_APPLICATION_CREDENTIALS="C:\\b\\service_account_auth_keys.json"
# We don't want to install 'arrow' in x86 because it is not supported
if [ "${{ matrix.arch }}" == "x86" ]; then
sed -i '/"arrow",/d' vcpkg.json
fi
if [ "$BUILD_SHARD" == "Core" ]; then
export ODBC_TESTS_DSN="SampleDSN"
export ODBC_TRANSACTIONS_TESTS_DSN="ODBCTransactionsTestsDSN"
Expand All @@ -181,4 +196,4 @@ jobs:
export ODBC_TRANSACTIONS_TESTS_DSN="ODBCGoogleTransactionsTestsDSN"
fi
cd c:/b
ctest --output-on-failure --parallel 16
ctest --output-on-failure --parallel 16
2 changes: 1 addition & 1 deletion ci/cloudbuild/builds/lib/secrets.sh
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ gcloud secrets versions access latest --secret=wrong-account-auth-keys --out-fil
gcloud secrets versions access latest --secret=no-access-account-auth-keys --out-file="${KEY_DIR}/no_access_account_auth_keys.json"
gcloud secrets versions access latest --secret=external-auth-token-script --out-file="${KEY_DIR}/external_auth_token.sh"
chmod +x "${KEY_DIR}/external_auth_token.sh"
"${KEY_DIR}/external_auth_token.sh" "${KEY_DIR}/tkn.txt"
"${KEY_DIR}/external_auth_token.sh" "${KEY_DIR}/tkn.txt" || true
sed -i "s|<some-path>|${KEY_DIR}|g" "${KEY_DIR}/external_account_auth_keys.json"

export CPP_BIGQUERY_ODBC_TEST_USER_ACCOUNT_AUTH_KEY=${KEY_DIR}/user_account_auth_keys.json
Expand Down
18 changes: 18 additions & 0 deletions ci/dependencies/driver-manager-setup-osx.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,25 @@ echo 'Configuring Connection Credentials...'
mkdir -p /Users/runner/work/connection
mkdir -p /Users/runner/work/connection/odbc-driver
cd /Users/runner/work/connection/odbc-driver

# Fetch standard keys
gcloud secrets versions access latest --secret=service-account-auth-keys --out-file="/Users/runner/work/connection/key.json"

# Fetch external keys and generate token
gcloud secrets versions access latest --secret=external-account-auth-keys --out-file="/Users/runner/work/connection/external_account_auth_keys.json"
gcloud secrets versions access latest --secret=external-auth-token-script --out-file="/Users/runner/work/connection/external_auth_token.sh"
chmod +x /Users/runner/work/connection/external_auth_token.sh
/Users/runner/work/connection/external_auth_token.sh /Users/runner/work/connection/tkn.txt

# Use BSD sed compatible syntax (empty extension '') for macOS 14/15
sed -i '' "s|<some-path>|/Users/runner/work/connection|g" "/Users/runner/work/connection/external_account_auth_keys.json"

# Persist environment variables so macos-cmake.sh and tests can access them
if [[ -n "${GITHUB_ENV:-}" ]]; then
echo "CPP_BIGQUERY_ODBC_TEST_EXTERNAL_ACCOUNT_AUTH_KEY=/Users/runner/work/connection/external_account_auth_keys.json" >> "$GITHUB_ENV"
echo "CPP_BIGQUERY_ODBC_TEST_SERVICE_ACCOUNT_AUTH_KEY=/Users/runner/work/connection/key.json" >> "$GITHUB_ENV"
fi

echo 'Verifying Connection Keys File Size...'
file_size=$(stat -f '%z' /Users/runner/work/connection/key.json)
if [[ $file_size =~ ^[0-9]+$ ]] && [ "$file_size" -lt 100 ]; then
Expand Down
Loading