Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions .github/workflows/build-lapx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,15 @@ jobs:
only: ${{ matrix.python }}-manylinux_riscv64
env:
CIBW_MANYLINUX_RISCV64_IMAGE: ${{ env.MANYLINUX_RISCV64_IMAGE }}
# From 0.11.0 setup.py builds the LAPJVR/LAPJVH solvers with Rust and
# refuses to build without cargo, so install the toolchain in-container.
CIBW_BEFORE_ALL_LINUX: >-
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
# numpy is a build-time (headers) and runtime dependency, scipy a test-only
# one; only our registry has either for riscv64. Only-binary keeps a newer
# PyPI release from winning the resolution and then compiling from sdist.
CIBW_ENVIRONMENT: >-
PATH="$PATH:$HOME/.cargo/bin"
PIP_EXTRA_INDEX_URL=https://pypi.riseproject.dev/simple/
PIP_ONLY_BINARY=numpy,scipy
CIBW_TEST_REQUIRES: pytest pytest-timeout scipy
Expand All @@ -90,9 +95,10 @@ jobs:
for whl in sys.argv[1:]:
names = zipfile.ZipFile(whl).namelist()
exts = {n.split("/")[-1].split(".")[0] for n in names if n.endswith(".so")}
assert exts == {"_lapjv", "_lapjvc", "_lapjvs", "_lapjvx"}, exts
assert {"_lapjv", "_lapjvc", "_lapjvs", "_lapjvx"} <= exts, exts
licences = {n.rsplit("/", 1)[-1] for n in names if ".dist-info/licenses/" in n} - {""}
assert licences == {"LICENSE", "NOTICE"}, licences
# 0.11.0 vendors Rust crates and ships THIRD_PARTY_NOTICES for them.
assert licences == {"LICENSE", "NOTICE", "THIRD_PARTY_NOTICES"}, licences
EOF

- name: Store wheels
Expand Down
1 change: 1 addition & 0 deletions docs/packages/lapx.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,4 @@ versions:
- filename: lapx-0.10.0-cp314-cp314t-manylinux_2_39_riscv64.whl
sha256: 51d429455983f49a25a733c3a1b94bdf9a0ec91e39584d78edc5dba2e35b89c2
requires-python: '>=3.7'
- version: 0.11.0
Loading