Skip to content

apache-beam: add build-apache-beam.yml for riscv64 wheels - #1726

Open
luhenry wants to merge 1 commit into
mainfrom
apache-beam
Open

apache-beam: add build-apache-beam.yml for riscv64 wheels#1726
luhenry wants to merge 1 commit into
mainfrom
apache-beam

Conversation

@luhenry

@luhenry luhenry commented Sep 10, 2026

Copy link
Copy Markdown
Member

Compiles ~17 small Cython extension modules under coders/metrics/runners/transforms/utils. Upstream publishes no riscv64 wheel.

Mirrors upstream's build_wheels.yml.

Differs from upstream

  • Preinstalls cython/numpy and builds with --no-build-isolation - the pinned grpcio-tools build dependency has no riscv64 wheel and is unused.
  • PIP_EXTRA_INDEX_URL + PIP_ONLY_BINARY=numpy - only our registry has a riscv64 numpy wheel.
  • Copies repo-root LICENSE/NOTICE into sdks/python before building the sdist - upstream's own released sdist ships without them.

Matrix: cp312/cp313/cp314 (cp314t dropped: upstream's own matrix never builds a free-threaded wheel)

Testing

  • same as upstream

License: OK

Local --no-build-isolation build (macOS) produced a real wheel with 17 .so extensions.

Builds the sdist from an apache/beam checkout on x86_64 (mirrors upstream's
build_wheels.yml build_source job), then the riscv64 bdist from that sdist
via cibuildwheel. Small Cython surface (~17 .so modules under
coders/metrics/runners/transforms/utils), no external native dependency.

build-system.requires pins grpcio-tools==1.62.1/1.71.0, which has no
riscv64 wheel; it's unused here since the sdist ships pre-generated
portability/api pb2 stubs with no .proto sources, so gen_protos.py never
imports grpc_tools. Builds with --no-build-isolation instead of patching
the pin.
luhenry added a commit that referenced this pull request Sep 10, 2026
An apache-beam entry already existed (repo pointing at the homepage, not
the GitHub repo); merged it into the detailed entry added earlier this
session instead of leaving two rows for the same package.
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