Skip to content

build(bigtable): package prebuilt accelerator daemon into a linux/amd64 wheel - #7

Open
mutianf wants to merge 3 commits into
accel-06-client-version-user-agentfrom
accel-07-package-wheel
Open

build(bigtable): package prebuilt accelerator daemon into a linux/amd64 wheel#7
mutianf wants to merge 3 commits into
accel-06-client-version-user-agentfrom
accel-07-package-wheel

Conversation

@mutianf

@mutianf mutianf commented Aug 7, 2026

Copy link
Copy Markdown
Owner

Stack PR 7/7 — base: accel-06-client-version-user-agent

Packages the prebuilt daemon binary into a linux/amd64 wheel: MANIFEST.in, setup.py platform-wheel wiring, PEP 440-tolerant version parsing, version bump to 3.0.0a0, and scripts/build_wheel.sh.


Accelerator stack

  1. daemon subprocess wrapper
  2. route read_row and mutate_row through daemon
  3. forward auth/identity config to daemon
  4. verify daemon identity before routing
  5. authenticate RPCs with stdin handshake secret
  6. pass Python client version for User-Agent
  7. package prebuilt daemon into wheel

… linux wheel

Change-Id: Iaaa281865332203180bbe1013690e9cf1191827c
@mutianf
mutianf force-pushed the accel-07-package-wheel branch from c348f7b to dde2db5 Compare August 11, 2026 21:54
fi

# Map GOARCH -> manylinux platform tag + the `file(1)` arch string we expect.
case "${GOARCH}" in

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Add the following build targets:

TARGETS=(
  # Linux Builds
  "linux 386"
  "linux amd64"
  "linux arm64"

  # Mac Builds
  "darwin amd64"
  "darwin arm64"

  # Windows Builds
  "windows 386"
  "windows amd64"
 )

And update the script to avoid deleting a previously built binary

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Done in aa431f7. The script now loops over the full TARGETS matrix (linux 386/amd64/arm64, darwin amd64/arm64, windows 386/amd64), cross-compiling each with CGO_ENABLED=0 from a single host and emitting one platform-tagged wheel per target.

On not deleting previously-built binaries: each cross-compiled binary is kept under a per-target staging dir (accelerator-<goos>-<goarch>[.exe]) so a later target never clobbers an earlier one. Only the current target's binary is staged into bin/ right before its wheel build (MANIFEST bundles whatever is in bin/, so we clear it between iterations to avoid shipping two daemons). dist/ is cleaned once up front and wheels accumulate across the run. Per-target file(1) verification is kept so a mis-cross-compiled binary can't get sealed into a mislabeled wheel.

…arwin/windows target matrix

Change-Id: I14a3f6a33579ddbce960435312f22ce0000409a5
…on Windows

Change-Id: I9f5639b508a7f9e3b0f0599c9692c5ee8bb1db7e
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.

1 participant