diff --git a/.github/workflows/build-matplotlib.yml b/.github/workflows/build-matplotlib.yml index 2e64221..47310f2 100644 --- a/.github/workflows/build-matplotlib.yml +++ b/.github/workflows/build-matplotlib.yml @@ -5,16 +5,16 @@ on: workflow_dispatch: inputs: version: - description: 'matplotlib version to build (git tag without leading v, e.g. 3.11.0)' + description: 'matplotlib version to build (git tag without leading v, e.g. 3.11.1)' required: true - default: '3.11.0' + default: '3.11.1' pull_request: paths: - '.github/workflows/build-matplotlib.yml' - '.github/workflows/test-matplotlib.yml' concurrency: - group: ${{ github.workflow }}-${{ inputs.version || '3.11.0' }}-${{ github.head_ref || github.run_id }} + group: ${{ github.workflow }}-${{ inputs.version || '3.11.1' }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true permissions: @@ -22,7 +22,7 @@ permissions: env: # `inputs.version` is empty on pull_request events; default there. - MPL_VERSION: ${{ inputs.version || '3.11.0' }} + MPL_VERSION: ${{ inputs.version || '3.11.1' }} # Query PyPI + gitlab riscv64 mirror; pick best compatible wheel # (`unsafe-best-match` = pip-like). Refuse sdist for dependencies so uv # selects the gitlab riscv64 wheel when PyPI lacks one instead of falling @@ -33,7 +33,7 @@ env: jobs: build_sdist: - name: Build matplotlib ${{ inputs.version || '3.11.0' }} sdist + name: Build matplotlib ${{ inputs.version || '3.11.1' }} sdist runs-on: ubuntu-24.04-riscv permissions: contents: read @@ -97,7 +97,7 @@ jobs: build_wheels: needs: build_sdist - name: Build matplotlib ${{ inputs.version || '3.11.0' }} wheels for riscv64 + name: Build matplotlib ${{ inputs.version || '3.11.1' }} wheels for riscv64 permissions: contents: read runs-on: ubuntu-24.04-riscv @@ -167,7 +167,7 @@ jobs: if-no-files-found: error publish: - name: Publish matplotlib ${{ inputs.version || '3.11.0' }} to GitLab + name: Publish matplotlib ${{ inputs.version || '3.11.1' }} to GitLab needs: build_wheels # Only publish when the workflow was triggered from main with a specific # version. Manual trigger is the only entry point that reaches main; diff --git a/.github/workflows/test-matplotlib.yml b/.github/workflows/test-matplotlib.yml index 86dac48..cf291e7 100644 --- a/.github/workflows/test-matplotlib.yml +++ b/.github/workflows/test-matplotlib.yml @@ -5,15 +5,15 @@ on: workflow_dispatch: inputs: version: - description: 'matplotlib version to test (git tag without leading v, e.g. 3.11.0)' + description: 'matplotlib version to test (git tag without leading v, e.g. 3.11.1)' required: true - default: '3.11.0' + default: '3.11.1' pull_request: paths: - '.github/workflows/test-matplotlib.yml' concurrency: - group: ${{ github.workflow }}-${{ inputs.version || '3.11.0' }}-${{ github.head_ref || github.run_id }} + group: ${{ github.workflow }}-${{ inputs.version || '3.11.1' }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true permissions: @@ -23,7 +23,7 @@ env: NO_AT_BRIDGE: 1 # Necessary for GTK3 interactive test. OPENBLAS_NUM_THREADS: 1 PYTHONFAULTHANDLER: 1 - MPL_VERSION: ${{ inputs.version || '3.11.0' }} + MPL_VERSION: ${{ inputs.version || '3.11.1' }} # Query PyPI + gitlab riscv64 mirror; pick best compatible wheel # (`unsafe-best-match` = pip-like). Refuse sdist for dependencies so uv # selects the gitlab riscv64 wheel when PyPI lacks one instead of falling @@ -36,7 +36,7 @@ jobs: test: permissions: contents: read - name: "Test matplotlib ${{ inputs.version || '3.11.0' }} — Python ${{ matrix.python-version }} on ${{ matrix.os }}" + name: "Test matplotlib ${{ inputs.version || '3.11.1' }} — Python ${{ matrix.python-version }} on ${{ matrix.os }}" runs-on: ${{ matrix.os }} strategy: diff --git a/patches/matplotlib/3.11.1/0001-tests-test_font_manager-increase-test_fontcache_thre.patch b/patches/matplotlib/3.11.1/0001-tests-test_font_manager-increase-test_fontcache_thre.patch new file mode 100644 index 0000000..56ac2d1 --- /dev/null +++ b/patches/matplotlib/3.11.1/0001-tests-test_font_manager-increase-test_fontcache_thre.patch @@ -0,0 +1,34 @@ +From a830afe01625f10e11640e2b2c3f3d88b2c16b36 Mon Sep 17 00:00:00 2001 +From: Trevor Gamblin +Date: Tue, 21 Jul 2026 11:25:31 -0400 +Subject: [PATCH] tests: test_font_manager: increase test_fontcache_thread_safe + timeout + +This test seems to pass in a local riscv64 container, but fails when run +on the native runners. It's a single threading test with a 10s timeout, +so double that timeout for our builds. For now this should be considered +inappropriate for upstream until we see the failure on their end too. + +Upstream-Status: Inappropriate [native runner specific] + +Signed-off-by: Trevor Gamblin +--- + lib/matplotlib/tests/test_font_manager.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/matplotlib/tests/test_font_manager.py b/lib/matplotlib/tests/test_font_manager.py +index add063df90..f3a9d57039 100644 +--- a/lib/matplotlib/tests/test_font_manager.py ++++ b/lib/matplotlib/tests/test_font_manager.py +@@ -344,7 +344,7 @@ def _test_threading(): + def test_fontcache_thread_safe(): + pytest.importorskip('threading') + +- subprocess_run_helper(_test_threading, timeout=10) ++ subprocess_run_helper(_test_threading, timeout=20) + + + def test_lockfilefailure(tmp_path): +-- +2.55.0 +