Skip to content

refactor: move build config to config file - #226

Open
lidavidm wants to merge 9 commits into
mainfrom
make-config
Open

refactor: move build config to config file#226
lidavidm wants to merge 9 commits into
mainfrom
make-config

Conversation

@lidavidm

@lidavidm lidavidm commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Instead of hardcoding build arguments on the command line, move most build config to a config file and simplify the CI setup.

Tested with DataFusion, Trino, and Oracle drivers.

@lidavidm
lidavidm force-pushed the make-config branch 12 times, most recently from 9813fe9 to 8fa61b8 Compare August 4, 2026 03:18
@lidavidm
lidavidm requested review from Mandukhai-Alimaa and a balanced review from Copilot August 11, 2026 03:42
@lidavidm
lidavidm marked this pull request as ready for review August 11, 2026 03:44
@lidavidm
lidavidm marked this pull request as draft August 11, 2026 03:44

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Centralizes driver build configuration in adbc-make.toml and adds cross-platform build validation.

Changes:

  • Introduces typed build plans and post-build checks.
  • Updates generated workflows and Pixi tasks.
  • Adds Go/Rust fixtures and cross-platform tests.

Reviewed changes

Copilot reviewed 20 out of 22 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
.github/workflows/test_local.yaml Adds macOS, Linux, and Windows testing.
.rat-apache Registers Apache-derived fixture files.
.rat-excludes Excludes the generated Cargo lockfile.
adbc_drivers_dev/generate.py Corrects the Azure field type.
adbc_drivers_dev/make.py Loads configuration and executes build plans.
adbc_drivers_dev/make_checks.py Implements binary compatibility checks.
adbc_drivers_dev/make_config.py Defines build configuration and planning.
adbc_drivers_dev/templates/pixi.toml Simplifies generated build tasks.
adbc_drivers_dev/templates/test.yaml Uses file-based build configuration.
pyproject.toml Adds Python and Windows requirements.
tests/make/godummy/adbc-make.toml Configures the Go fixture.
tests/make/godummy/module/go.mod Defines the fixture module.
tests/make/godummy/module/pkg/main.go Provides a dummy exported driver symbol.
tests/make/rustdummy/Cargo.lock Locks Rust fixture dependencies.
tests/make/rustdummy/Cargo.toml Defines the Rust fixture crate.
tests/make/rustdummy/README.md Documents the Rust fixture.
tests/make/rustdummy/adbc-make.toml Configures the Rust fixture.
tests/make/rustdummy/src/lib.rs Implements the dummy Rust driver.
tests/test_detect_version.py Tests Git worktree version detection.
tests/test_make.py Tests build plans and actual builds.
tests/test_make_checks.py Tests post-build compatibility checks.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread adbc_drivers_dev/make.py
Comment on lines +322 to +328
make_env = make_config.MakeEnv(
ci=to_bool(get_var("CI", "false")),
debug=to_bool(get_var("DEBUG", "False")),
host_platform=PLATFORM,
host_architecture=normalize_arch(platform.machine()),
target_platform=target_platform(),
target_architecture=target_architecture(),

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we need this override anymore.

Comment on lines +484 to +486
docker_container = None
if config.use_docker:
docker_container = self.lang.docker_container

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is intentionally changed: instead of resorting to a "script" build we can instead use a normal "go" build for cases like the singlestore driver

Comment thread adbc_drivers_dev/make_checks.py Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@lidavidm
lidavidm marked this pull request as ready for review August 11, 2026 07:22
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.

2 participants