Skip to content

matplotlib: add build, test workflows for riscv64#97

Draft
threexc wants to merge 4 commits into
mainfrom
tgamblin/matplotlib
Draft

matplotlib: add build, test workflows for riscv64#97
threexc wants to merge 4 commits into
mainfrom
tgamblin/matplotlib

Conversation

@threexc

@threexc threexc commented Jun 30, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

@threexc
threexc force-pushed the tgamblin/matplotlib branch 3 times, most recently from bca1843 to 5816bb0 Compare June 30, 2026 18:54
@threexc

threexc commented Jun 30, 2026

Copy link
Copy Markdown
Collaborator Author

This is close to working, but the latest run looks to be building numpy 2.5.0 from source. I'll pause working on this and get a numpy 2.5.0 wheel built and added to our registry before continuing. That'll also give me an opportunity to iron out a custom action I've been working on to simplify our deploy step.

@threexc
threexc force-pushed the tgamblin/matplotlib branch 2 times, most recently from 61ab64a to 2edc6dc Compare July 2, 2026 18:06
@threexc
threexc force-pushed the tgamblin/matplotlib branch 2 times, most recently from 11e801c to bfc85ae Compare July 3, 2026 17:18
@threexc
threexc force-pushed the tgamblin/matplotlib branch from bfc85ae to fe69dad Compare July 20, 2026 14:28
@github-actions

github-actions Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://riseproject-dev.github.io/python-wheels/pr-preview/pr-97/

Built to branch gh-pages at 2026-07-21 18:56 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

We make use of uv to simplify the pipeline in several ways:

- replace 'python -m pip' with 'uv pip'
- set cache to match uv usage
- use uv for CIBW_BUILD_FRONTEND
- set UV_EXTRA_INDEX_URL to our GitLab registry, with
  UV_INDEX_STRATEGY=unsafe-best-match and UV_ONLY_BINARY=:all: so we
  pick whichever source has a binary wheel
- drop 'allow-prereleases' from setup-uv since this only applies to the
  setup-python action

Also make sure we explicitly skip musllinux builds, since upstream isn't
building them either. Otherwise, we run into issues with uv setup:

|Building cp314-musllinux_riscv64 wheel
|CPython 3.14 musllinux riscv64
|
|Setting up build environment...
|
|      + mkdir -p /
|      + /opt/python/cp39-cp39/bin/python -c 'import sys, json, os; json.dump(os.environ.copy(), sys.stdout)'
|      + which python
|      + which uv
|                                                              ✕ 4.07s
|Error: cibuildwheel: Command ['which', 'uv'] failed with code 1.
|
|Error: Process completed with exit code 1.

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
@threexc
threexc force-pushed the tgamblin/matplotlib branch from fe69dad to ca8fc4a Compare July 20, 2026 19:14
threexc added 2 commits July 21, 2026 11:29
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
@threexc
threexc force-pushed the tgamblin/matplotlib branch from c8e5420 to 2fe0d18 Compare July 21, 2026 15:44
Add two patches for our matplotlib tests:

- One to increase a threading test timeout, helping to overcome hardware
  limitations (marked as "Inappropriate" as it's unique for our setup)
- One to backport a fix from upstream main, which is proposed for
  backporting into the 3.11.x releases but not part of 3.11.0. This pins
  pytest below version 9.1.0 due to how that version results in numerous
  errors being reported during the test runs (marked as "Backport" with
  a commit link).

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
@threexc
threexc force-pushed the tgamblin/matplotlib branch from 2fe0d18 to be90e6b Compare July 21, 2026 18:32
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