Skip to content

Commit 5b0fb28

Browse files
Upgrade matplotlib to v3.11.1 (#180)
* workflows: build-matplotlib, test-matplotlib: update for v3.11.1 Copy the same patch used for 3.11.0 to 3.11.1. We don't need the pytest backport used for 3.11.0, since that is contained in the 3.11.1 release: |tgamblin@alchemist ~/workspace/baylibre/rise/matplotlib ((HEAD detached at v3.11.1))$ git tag --contains cf5cebedbb |v3.11.1 Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
1 parent f40383c commit 5b0fb28

3 files changed

Lines changed: 46 additions & 12 deletions

File tree

.github/workflows/build-matplotlib.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,24 @@ on:
55
workflow_dispatch:
66
inputs:
77
version:
8-
description: 'matplotlib version to build (git tag without leading v, e.g. 3.11.0)'
8+
description: 'matplotlib version to build (git tag without leading v, e.g. 3.11.1)'
99
required: true
10-
default: '3.11.0'
10+
default: '3.11.1'
1111
pull_request:
1212
paths:
1313
- '.github/workflows/build-matplotlib.yml'
1414
- '.github/workflows/test-matplotlib.yml'
1515

1616
concurrency:
17-
group: ${{ github.workflow }}-${{ inputs.version || '3.11.0' }}-${{ github.head_ref || github.run_id }}
17+
group: ${{ github.workflow }}-${{ inputs.version || '3.11.1' }}-${{ github.head_ref || github.run_id }}
1818
cancel-in-progress: true
1919

2020
permissions:
2121
contents: read # to fetch code (actions/checkout)
2222

2323
env:
2424
# `inputs.version` is empty on pull_request events; default there.
25-
MPL_VERSION: ${{ inputs.version || '3.11.0' }}
25+
MPL_VERSION: ${{ inputs.version || '3.11.1' }}
2626
# Query PyPI + gitlab riscv64 mirror; pick best compatible wheel
2727
# (`unsafe-best-match` = pip-like). Refuse sdist for dependencies so uv
2828
# selects the gitlab riscv64 wheel when PyPI lacks one instead of falling
@@ -33,7 +33,7 @@ env:
3333

3434
jobs:
3535
build_sdist:
36-
name: Build matplotlib ${{ inputs.version || '3.11.0' }} sdist
36+
name: Build matplotlib ${{ inputs.version || '3.11.1' }} sdist
3737
runs-on: ubuntu-24.04-riscv
3838
permissions:
3939
contents: read
@@ -97,7 +97,7 @@ jobs:
9797

9898
build_wheels:
9999
needs: build_sdist
100-
name: Build matplotlib ${{ inputs.version || '3.11.0' }} wheels for riscv64
100+
name: Build matplotlib ${{ inputs.version || '3.11.1' }} wheels for riscv64
101101
permissions:
102102
contents: read
103103
runs-on: ubuntu-24.04-riscv
@@ -167,7 +167,7 @@ jobs:
167167
if-no-files-found: error
168168

169169
publish:
170-
name: Publish matplotlib ${{ inputs.version || '3.11.0' }} to GitLab
170+
name: Publish matplotlib ${{ inputs.version || '3.11.1' }} to GitLab
171171
needs: build_wheels
172172
# Only publish when the workflow was triggered from main with a specific
173173
# version. Manual trigger is the only entry point that reaches main;

.github/workflows/test-matplotlib.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ on:
55
workflow_dispatch:
66
inputs:
77
version:
8-
description: 'matplotlib version to test (git tag without leading v, e.g. 3.11.0)'
8+
description: 'matplotlib version to test (git tag without leading v, e.g. 3.11.1)'
99
required: true
10-
default: '3.11.0'
10+
default: '3.11.1'
1111
pull_request:
1212
paths:
1313
- '.github/workflows/test-matplotlib.yml'
1414

1515
concurrency:
16-
group: ${{ github.workflow }}-${{ inputs.version || '3.11.0' }}-${{ github.head_ref || github.run_id }}
16+
group: ${{ github.workflow }}-${{ inputs.version || '3.11.1' }}-${{ github.head_ref || github.run_id }}
1717
cancel-in-progress: true
1818

1919
permissions:
@@ -23,7 +23,7 @@ env:
2323
NO_AT_BRIDGE: 1 # Necessary for GTK3 interactive test.
2424
OPENBLAS_NUM_THREADS: 1
2525
PYTHONFAULTHANDLER: 1
26-
MPL_VERSION: ${{ inputs.version || '3.11.0' }}
26+
MPL_VERSION: ${{ inputs.version || '3.11.1' }}
2727
# Query PyPI + gitlab riscv64 mirror; pick best compatible wheel
2828
# (`unsafe-best-match` = pip-like). Refuse sdist for dependencies so uv
2929
# selects the gitlab riscv64 wheel when PyPI lacks one instead of falling
@@ -36,7 +36,7 @@ jobs:
3636
test:
3737
permissions:
3838
contents: read
39-
name: "Test matplotlib ${{ inputs.version || '3.11.0' }} — Python ${{ matrix.python-version }} on ${{ matrix.os }}"
39+
name: "Test matplotlib ${{ inputs.version || '3.11.1' }} — Python ${{ matrix.python-version }} on ${{ matrix.os }}"
4040
runs-on: ${{ matrix.os }}
4141

4242
strategy:
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
From a830afe01625f10e11640e2b2c3f3d88b2c16b36 Mon Sep 17 00:00:00 2001
2+
From: Trevor Gamblin <tgamblin@baylibre.com>
3+
Date: Tue, 21 Jul 2026 11:25:31 -0400
4+
Subject: [PATCH] tests: test_font_manager: increase test_fontcache_thread_safe
5+
timeout
6+
7+
This test seems to pass in a local riscv64 container, but fails when run
8+
on the native runners. It's a single threading test with a 10s timeout,
9+
so double that timeout for our builds. For now this should be considered
10+
inappropriate for upstream until we see the failure on their end too.
11+
12+
Upstream-Status: Inappropriate [native runner specific]
13+
14+
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
15+
---
16+
lib/matplotlib/tests/test_font_manager.py | 2 +-
17+
1 file changed, 1 insertion(+), 1 deletion(-)
18+
19+
diff --git a/lib/matplotlib/tests/test_font_manager.py b/lib/matplotlib/tests/test_font_manager.py
20+
index add063df90..f3a9d57039 100644
21+
--- a/lib/matplotlib/tests/test_font_manager.py
22+
+++ b/lib/matplotlib/tests/test_font_manager.py
23+
@@ -344,7 +344,7 @@ def _test_threading():
24+
def test_fontcache_thread_safe():
25+
pytest.importorskip('threading')
26+
27+
- subprocess_run_helper(_test_threading, timeout=10)
28+
+ subprocess_run_helper(_test_threading, timeout=20)
29+
30+
31+
def test_lockfilefailure(tmp_path):
32+
--
33+
2.55.0
34+

0 commit comments

Comments
 (0)