| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
scikit-learn publishes manylinux wheels for every architecture except riscv64, so nothing installs on ubuntu-24.04-riscv today. The workflow mirrors the `build_wheels` job of upstream's .github/workflows/wheels.yml, narrowed to riscv64: the same cibw_before_build.sh / test_wheels.sh entry points, the same RUNNER_OS pass-through that check_license.py depends on, and the same SKLEARN_SKIP_NETWORK_TESTS=1. riscv64-only overrides: - CIBW_MANYLINUX_RISCV64_IMAGE, - PIP_EXTRA_INDEX_URL so numpy/scipy/pandas resolve to our riscv64 wheels in both the build and the test phase, - PIP_ONLY_BINARY scoped to those three so pip cannot silently source-build them; it is deliberately not :all:, since cython and meson-python have no riscv64 wheel anywhere and must compile from sdist in the build environment. pytest-xdist is added to CIBW_TEST_REQUIRES: upstream's test_wheels.sh already uses it when present, and the full sklearn suite is otherwise too slow on the riscv64 runner. The matrix stops at cp313 because scipy is a *build* requirement (sklearn cimports scipy.linalg.cython_blas) and pypi.riseproject.dev carries riscv64 scipy only up to cp313 (1.15.2); cp314/cp314t can be added once scipy is built for them. A gpl_sources job is included: auditwheel vendors the manylinux image's libgomp into the wheel (scikit_learn.libs/libgomp-*.so.1.0.0, as upstream's build_tools/wheels/LICENSE_linux.txt documents), so the gcc sources that produced it have to be published alongside. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Reverts the temporary cp312/cp313 restriction: scipy 1.18.1 riscv64 wheels are published for all four interpreters, including cp314t, so the build requirement resolves.
|
Depends on scipy<1.18.0; work in progress. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
scikit-learn publishes manylinux wheels for every architecture except riscv64, so nothing installs on ubuntu-24.04-riscv today.
This adds .github/workflows/build-scikit-learn.yml, a build-from-checkout cibuildwheel workflow that mirrors the build_wheels job of upstream's .github/workflows/wheels.yml, narrowed to riscv64:
riscv64-only overrides:
GPL sources
auditwheel vendors the manylinux image's GCC OpenMP runtime into the wheel — upstream's own build_tools/wheels/LICENSE_linux.txt declares it, and the riscv64 wheel built on this branch confirms it:
That library comes from our build environment rather than from upstream, so the workflow carries a gpl_sources job (collect-gpl-sources, same pinned MANYLINUX_RISCV64_IMAGE the wheels are built with) and passes the artifact through to publish-wheels.
Matrix is cp312/cp313 only. scipy is a genuine build requirement (scikit-learn cimports scipy.linalg.cython_blas), and pypi.riseproject.dev currently carries riscv64 scipy only up to cp313 (1.15.2). cp314/cp314t can be added once scipy is built for them.
CI
A full run on this branch was green end to end — both matrix jobs plus a clean publish dry run (run 32837617580):
The branch has since been rebased on main and squashed to a single commit; the pull_request: paths trigger is kept (as every workflow on main does since #391) because it is the only thing that can produce a first run for a workflow that is not yet in GitHub's workflow registry.
🤖 Generated with Claude Code