Skip to content

Update arrow-adbc port#51144

Open
IIFE wants to merge 4 commits intomicrosoft:masterfrom
IIFE:arrow-adbc-update
Open

Update arrow-adbc port#51144
IIFE wants to merge 4 commits intomicrosoft:masterfrom
IIFE:arrow-adbc-update

Conversation

@IIFE
Copy link
Copy Markdown

@IIFE IIFE commented Apr 13, 2026

Windows build support has been added to arrow-adbc as part of this PR:
apache/arrow-adbc#2858

arrow is not needed as a dependency for core arrow-adbc, mainly nanoarrow.

Patches no longer needed as a result of new changes to arrow-adbc from above PR.

  • Changes comply with the maintainer guide.
  • SHA512s are updated for each updated download.
  • The "supports" clause reflects platforms that may be fixed by this new version, or no changes were necessary.
  • Any fixed CI baseline and CI feature baseline entries are removed from that file, or no entries needed to be changed.
  • All patch files in the port are applied and succeed.
  • The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
  • Exactly one version is added in each modified versions file.

@IIFE
Copy link
Copy Markdown
Author

IIFE commented Apr 13, 2026

@microsoft-github-policy-service agree

@BillyONeal
Copy link
Copy Markdown
Member

There appear to be a number of legitimate feature test failures for that port; I'm not sure whether that's a change vs. the status quo though. Please investigate whether those are expected failures on the part of the port (in which case those features should probably be guarded with a "supports" expression), or unexpected (in which case they probably need arrow-adbc[that feature]:that triplet=feature-fails added to scripts/ci.feature.baseline.txt)

Thanks for the update submission!

@BillyONeal BillyONeal marked this pull request as draft April 13, 2026 22:25
@vicroms
Copy link
Copy Markdown
Member

vicroms commented Apr 16, 2026

AI review:


vcpkg CI Failure Report

Build: #129921
PR: #51144 — Update arrow-adbc port by @IIFE
Result: failed | Finished: 2026-04-13T21:47:47Z


Summary

Triplet Status New Regressions Known Failures
x64-linux ❌ Failed 0 0 (feature tests failed)
arm64-linux ✅ Passed 0 0
x64-windows ✅ Passed 0 0
x64-windows-static ✅ Passed 0 0
x64-windows-static-md ✅ Passed 0 0
x64-windows-release ✅ Passed 0 0
x86-windows ❌ Failed 0 0 (version validation)
arm64-windows ✅ Passed 0 0
arm64-windows-static-md ✅ Passed 0 0
arm64-osx ❌ Failed 0 0 (feature tests failed)
x64-android ❌ Failed 0 0 (feature tests failed)
arm64-android ❌ Failed 0 0 (feature tests failed)
arm-neon-android ❌ Failed 0 0 (feature tests failed)

Total: 7 failed jobs, 0 REGRESSION lines. The core arrow-adbc port builds successfully on all triplets. Failures are caused by 3 distinct issues: Go-dependent feature test failures, stale feature baseline entries, and a version validation error.


🔴 Issue 1: Version Validation Error

Triplet: x86-windows (affects all triplets — x86 just runs validation first)
Failed task: "Validate version files"

  • Error:
    ports/arrow-adbc/vcpkg.json: error: arrow-adbc@22 was not found in versions database
    versions/baseline.json: error: arrow-adbc is assigned 16, but the local port is 22
    note: run 'vcpkg x-add-version arrow-adbc' to add the new port version
    
  • Analysis: The port was updated to version 22 but the version database wasn't regenerated. The PR checklist says x-add-version --all was run, but the versions file still shows version 16.
  • Fix: Run vcpkg x-add-version arrow-adbc and commit the updated versions/a-/arrow-adbc.json and versions/baseline.json.

🔴 Issue 2: Go-Dependent Features Fail on All Non-Windows Triplets

Triplets: x64-linux, arm64-osx, x64-android, arm64-android, arm-neon-android
Affected features: flightsql, snowflake, bigquery (and all combination)

arm64-osx: Go Not Found

  • Error:
    Could not find GO_BIN using the following names: go
    
  • Analysis: The flightsql, snowflake, and bigquery drivers are implemented in Go (using CGo). The macOS CI agent doesn't have Go installed. The same error occurs on all 3 Android triplets.

x64-linux: Go Permission Denied

  • Error:
    go: could not create module cache: mkdir /go: permission denied
    
  • Analysis: Go is installed on the Linux CI agent but the module cache directory (/go) isn't writable. The Go build tries to create GOPATH at /go and fails.

Impact

The core arrow-adbc[core] build passes on all platforms. Only the Go-based optional features fail. This is a pre-existing limitation — the previous version (16) had these same features marked as failing in ci.feature.baseline.txt:

arrow-adbc[bigquery]:arm64-linux=feature-fails  # Could not find GO_BIN
arrow-adbc[flightsql]:arm64-linux=feature-fails
arrow-adbc[snowflake]:arm64-linux=feature-fails

However, these baseline entries only cover arm64-linux. The new version (22) now also tests these features on other triplets where Go is also unavailable, causing new unexpected failures.

  • Fix: Add feature baseline entries for all affected triplets:
    arrow-adbc[bigquery]=feature-fails  # Go required but not available in CI
    arrow-adbc[flightsql]=feature-fails
    arrow-adbc[snowflake]=feature-fails
    
    Or use triplet-specific entries if some triplets should be expected to pass.

🟡 Issue 3: Feature Baseline Coverage Gap

Triplets: x64-linux, arm-neon-android, arm64-android, x64-android, arm64-osx

The Go-dependent features (flightsql, snowflake, bigquery) fail on these triplets but there are no corresponding entries in ci.feature.baseline.txt. The existing entries only cover arm64-linux:

arrow-adbc[bigquery]:arm64-linux=feature-fails  # Could not find GO_BIN
arrow-adbc[flightsql]:arm64-linux=feature-fails
arrow-adbc[snowflake]:arm64-linux=feature-fails

Since Go is unavailable on all non-Windows CI agents, the baseline needs to cover all affected triplets.

  • Fix: Expand the feature baseline entries:
    arrow-adbc[bigquery]=feature-fails  # Go required but not available in CI
    arrow-adbc[flightsql]=feature-fails
    arrow-adbc[snowflake]=feature-fails
    

ℹ️ Notes

  • The core arrow-adbc port (version 22) builds successfully on all 13 triplets — this is a significant improvement over version 16 which didn't support Windows
  • The PR removes the arrow dependency and patches that are no longer needed — all these changes are working correctly
  • The new AdbcDriverCommon cmake config fixup for static builds appears to work (Windows static triplets all pass)
  • The GitHub Actions "Check" job also fails due to the same version validation issue
  • The Go-based features (flightsql, snowflake, bigquery) require the Go toolchain which isn't available on most CI agents — these should be marked as feature-fails in the baseline
  • The arrow-adbc[postgresql] and arrow-adbc[sqlite] features appear to work correctly (they only fail in the all_6 combination due to the Go features being included)

Required Actions for PR Author

  1. Run vcpkg x-add-version arrow-adbc and commit the result
  2. Update scripts/ci.feature.baseline.txt to mark Go-dependent features as failing on all non-Windows triplets

vicroms added a commit to vicroms/vcpkg that referenced this pull request Apr 17, 2026
Add three new failure pattern categories:
- Category 16: Version validation failures (missing x-add-version)
- Category 17: Missing build tools in CI (Go, Java, Rust)
- Category 18: Feature baseline coverage gaps across triplets

Document feature test artifact structure (issue_body.md + tested-spec.txt)
and add corresponding notes, formatting rules, and common patterns.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@IIFE IIFE marked this pull request as ready for review April 26, 2026 20:05
@IIFE
Copy link
Copy Markdown
Author

IIFE commented Apr 26, 2026

There appear to be a number of legitimate feature test failures for that port; I'm not sure whether that's a change vs. the status quo though. Please investigate whether those are expected failures on the part of the port (in which case those features should probably be guarded with a "supports" expression), or unexpected (in which case they probably need arrow-adbc[that feature]:that triplet=feature-fails added to scripts/ci.feature.baseline.txt)

Thanks for the update submission!

Thanks. I've added the non-windows Go-based features to scripts/ci.feature.baseline.txt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants