Skip to content

Build PyPI wheels for the CLI in release-build - #7166

Draft
denik wants to merge 4 commits into
mainfrom
denik/databricks-wheel
Draft

denik wants to merge 4 commits into
mainfrom
denik/databricks-wheel

Conversation

@denik

@denik denik commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

Build py3-none-<platform> wheels for the databricks PyPI project from the signed release binaries and upload them as a separate cli-wheels artifact. Nothing is published by this PR: the publish side is https://github.com/databricks/secure-public-registry-releases-eng/pull/272.

  • .github/scripts/build_cli_wheels.py wraps the 6 goreleaser archives (checksum-verified) into wheels that install only the binary into bin//Scripts/. No Python package, so uvx databricks runs the binary directly.
  • New cli-wheels job in release-build.yml: builds, twine check, installs the linux wheel and runs databricks --version, then uploads. The existing wheel (databricks-bundles) artifact is untouched.
  • Unit test wired into ./task checks.

This pull request and its description were written by Isaac.

Wrap the signed release binaries into py3-none-<platform> wheels for the
`databricks` PyPI project and upload them as the `cli-wheels` artifact,
separate from the `wheel` (databricks-bundles) artifact.

Co-authored-by: Isaac <no-reply@databricks.com>
@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: 0bc9dac

Run: 39990791933

Env 🔄​flaky ✅​pass 🙈​skip Time
✅​ aws linux-2core-8gb 281 16 4:04
✅​ aws-windows-latest-4core-16gb 283 14 3:09
✅​ azure linux-2core-8gb 280 16 3:57
🔄​ azure-windows-latest-4core-16gb 4 278 14 3:37
✅​ gcp linux-2core-8gb 281 16 4:13
✅​ gcp-windows-latest-4core-16gb 283 14 4:20
Test Name azure-windows-latest-4core-16gb
🔄​ TestFsCpDirToDirWithOverwriteFlag 🔄​f
🔄​ TestFsCpDirToDirWithOverwriteFlag/dbfs_to_uc-volumes 🔄​f
🔄​ TestFsMkdirCreatesIntermediateDirectories 🔄​f
🔄​ TestFsMkdirCreatesIntermediateDirectories/uc-volumes 🔄​f
Top 3 slowest tests (at least 2 minutes):
duration env testname
4:16 gcp-windows-latest-4core-16gb TestAccept
3:05 azure-windows-latest-4core-16gb TestAccept
2:55 aws-windows-latest-4core-16gb TestAccept

Package the CLI under test with build_cli_wheels.py and run it with
`uvx --find-links`, so uv picks the wheel for this platform and the test
fails if a wheel is not installable or does not run.

Co-authored-by: Isaac <no-reply@databricks.com>
@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Commit: 0bc9dac56 | Workflow run

Regression test report

Selected 1 changed tests (limit=20, 0 not selected)

1 tests: regression=0 unreleased=0 coverage=1 failing=0

test branch main (edebd84) latest (v1.22.1)
TestAccept/cmd/pypi-wheel ✅ ✅ ✅

denik and others added 2 commits October 23, 2026 18:36
Python helpers live in tools/. Also drop `uniq -c` from the acceptance
test: its padding differs between macOS and Linux/Windows.

Co-authored-by: Isaac <no-reply@databricks.com>
The archives come from the cli artifact of the same workflow run, so the
extra check adds nothing. The SHA256SUMS file name still carries the version.

Co-authored-by: Isaac <no-reply@databricks.com>

This branch has not been deployed

No deployments
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