Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
103 commits
Select commit Hold shift + click to select a range
d4a55b6
moderation and enforcement
story645 Feb 25, 2026
5bbd7a1
Speed up sticky edges handling
scottshambaugh Mar 6, 2026
874fe77
Lazily construct sticky edges
scottshambaugh Mar 6, 2026
f188cd8
Skip most children for sticky edge checks
scottshambaugh Mar 6, 2026
cb3f9fd
Skip sticky searching if empty
scottshambaugh Mar 6, 2026
ac439c8
Code review updates
scottshambaugh Mar 6, 2026
85e2e66
Added Turbo License doc
ishan372or Dec 26, 2025
904d093
API: Raise ValueError in subplots if num refers to existing figure
Aaratrika-Shelly Mar 3, 2026
8095b72
fix: resolve FigureCanvasTkAgg clipping on Windows HiDPI (#31133)
statxc Mar 11, 2026
ffb2e6e
Merge pull request #31230 from Aaratrika-Shelly/fix/subplots-reuse-error
timhoffm Mar 11, 2026
22f4279
Block shell escapes in latex and dvips commands
scottshambaugh Mar 11, 2026
545f974
Restrict webagg toolbar events to the actual toolbar items
scottshambaugh Mar 13, 2026
dff2887
Add test verifying Tornado rejects cross-origin WebSocket connections
scottshambaugh Mar 13, 2026
81e0be7
Apply suggestions from code review
scottshambaugh Mar 13, 2026
69ca922
DOC: Fix rendering of quiver documentation (#31252)
amishamehta99 Mar 13, 2026
8ff895d
Merge pull request #31282 from scottshambaugh/tex_no_shell
WeatherGod Mar 13, 2026
32805b1
Merge pull request #31294 from scottshambaugh/webagg_cross_origin
QuLogic Mar 13, 2026
c3df005
scale: add `ScaleBase.val_in_range` for domain validation
null-dreams Mar 14, 2026
f91d2b4
typing: add `ScaleBase.val_in_range` to `scale.pyi`
null-dreams Mar 14, 2026
926c259
axis: add `Axis.val_in_range` to delgate the domain check
null-dreams Mar 14, 2026
e3dc7b7
typing: add `Axis.val_in_range` to `axis.pyi`
null-dreams Mar 14, 2026
6feeec1
axes: modify `_point_in_data_domain` to use the new `Axis.val_in_range`
null-dreams Mar 14, 2026
3f42ea8
FIX: avoid applying dashed patterns to zero-width lines and patches
francisayyad03 Mar 15, 2026
631a52f
scale: refactor `val_in_range` to accept scalar values and return a s…
null-dreams Mar 15, 2026
d62a69f
typing: refactor `Scale.val_in_range` to reflect the type changes
null-dreams Mar 15, 2026
fd14ae5
DOC: update pandas intersphinx mapping (#31309)
rcomer Mar 15, 2026
0fe9994
use figure-equality tests for zero-width dashed rendering
francisayyad03 Mar 16, 2026
ef570a3
DOC: clarify explanation of axline in infinite lines example
amishamehta99 Mar 16, 2026
7b3f389
strengthen zero-width dash regression tests
francisayyad03 Mar 16, 2026
40730d1
Merge pull request #31316 from amishamehta99/improve-axline-doc
timhoffm Mar 17, 2026
02b42db
Emit xlim_changed / ylim_changed when limits expand via set_xticks / …
Chirag3841 Mar 17, 2026
dfa19f6
[BUG] Warn when legend() receives mismatched handles and labels in 2-…
EncryptedDoom Mar 17, 2026
aafeacd
simplify zero-width dash regression tests
francisayyad03 Mar 17, 2026
315010b
DOC: Add thumbnail for multipage_pdf gallery example (#31308)
AMAN194701 Mar 17, 2026
4876264
DOC: fix pcolormesh doc
jklymak Mar 18, 2026
b4b0e3a
Merge pull request #31322 from jklymak/doc-fix-pcolormesh
QuLogic Mar 18, 2026
59bd52b
tests: add test cases for `val_in_range` for different scales
null-dreams Mar 18, 2026
6d03949
refactor: remove 'val_in_range' from axis.py and the corressponding p…
null-dreams Mar 18, 2026
b78b003
refactor: add finite bound check for base class and implemented classes
null-dreams Mar 18, 2026
3de6b1f
tests: edited test cases to fit the new requirements
null-dreams Mar 18, 2026
c46efc9
MNT: Add autoclose bot inspired by scikit-learn (#31283)
melissawm Mar 18, 2026
89ae2e4
TST: Fix condition for test_tmpconfigdir_warning
QuLogic Jun 4, 2024
b8ff3db
Ignore threading errors when preparing font cache
QuLogic Jun 5, 2024
4ccad9c
Don't attempt to load system fonts on Emscripten
QuLogic Jun 5, 2024
e0eabd0
agg: Explicitly cast dimensions when creating Python buffer
QuLogic Sep 26, 2024
c16b5cc
wasm: Skip more subprocess & thread tests
QuLogic Nov 5, 2024
38257d9
Skip tests that expect LinAlgError on WASM
QuLogic Nov 6, 2024
702aff1
ci: Add a build for wasm
QuLogic Nov 6, 2024
3d6d450
BLD: Open symbol visibility for FreeType on wasm
QuLogic Nov 6, 2024
1af3ee7
TST: Avoid using os.devnull for path tests
QuLogic Nov 7, 2024
78a6000
Increase some tolerances for wasm
QuLogic May 16, 2025
e05db65
ci: Only build wasm for Python 3.12
QuLogic Mar 19, 2026
25f1939
Merge pull request #29093 from QuLogic/wasm
QuLogic Mar 19, 2026
b7787ee
MAINT: Fix formatting on autoclose bot message
melissawm Mar 19, 2026
489e54e
Try to fix lint failure
melissawm Mar 19, 2026
529da92
DOC: Add note about opening multiple PRs (#31329)
melissawm Mar 19, 2026
c35268f
refactor: compact function body in LogScale
null-dreams Mar 20, 2026
38d9ed5
Fix accurate interpolator for affine nearest-neighbor
ayshih Mar 18, 2026
814662a
Fix vertical image bounds when on an half display pixel
ayshih Mar 18, 2026
f0fec8b
Fix resample code to round half down
ayshih Mar 20, 2026
1261a30
Fix additional misalignments due to numerical precision
ayshih Mar 20, 2026
5440c21
Add a figure test for alignment at half display pixels
ayshih Mar 19, 2026
012e83f
Update baseline images
ayshih Mar 19, 2026
f117602
Merge pull request #31313 from ayshih/round_half_down
QuLogic Mar 20, 2026
70b8cd5
Fix yaml spacing
melissawm Mar 20, 2026
5258412
Merge pull request #31338 from melissawm/autoclose-fix
QuLogic Mar 20, 2026
4eed106
Merge pull request #31307 from francisayyad03/main
ksunden Mar 20, 2026
1ab55c0
Merge pull request #30900 from ishan372or/docs/license
ksunden Mar 20, 2026
6b820a8
refactor: made changes as suggested by reviewer
null-dreams Mar 20, 2026
7c94eb0
Merge pull request #31306 from null-dreams/mnt
QuLogic Mar 20, 2026
0f46f27
Merge pull request #31244 from scottshambaugh/sticky_edges_speedup
QuLogic Mar 20, 2026
6fc87ef
DOC: Correct a few typos in documentation [ci doc] (#31349)
star1327p Mar 22, 2026
169a730
FIX: Deprecate using clabel() with filled contours
timhoffm Mar 22, 2026
8c7a193
Merge pull request #31347 from timhoffm/deprecate-contourf-clabel
jklymak Mar 23, 2026
69cc7f8
Port requirements to PEP735 (#29281)
QuLogic Mar 23, 2026
83d3483
Bump the actions group across 1 directory with 8 updates
dependabot[bot] Mar 23, 2026
5c25918
ci: Configure dependabot to skip minver requirements
QuLogic Mar 23, 2026
5a31005
TST: Replace pywin32 with ctypes wrapper
QuLogic Mar 24, 2026
9bd847b
ci: Switch autoclose actions to SHA hashes
QuLogic Mar 24, 2026
2d60a3d
Merge pull request #31358 from QuLogic/win32-ctypes
timhoffm Mar 24, 2026
e6a833f
Merge pull request #31357 from QuLogic/no-minver-updates
timhoffm Mar 24, 2026
1f73000
Update black requirement from <26 to <27
dependabot[bot] Mar 24, 2026
35f7ea6
Update dead link for Ware 1988 in colormap docs (#31370)
nathanjmcdougall Mar 24, 2026
dc4d26f
Merge pull request #31355 from matplotlib/dependabot/github_actions/a…
QuLogic Mar 25, 2026
a85564e
Merge pull request #31363 from matplotlib/dependabot/pip/black-lt-27
timhoffm Mar 25, 2026
37502fa
Make font search case insensitive in logo example
story645 Mar 25, 2026
6d2d934
explain why web docs use carlito
story645 Mar 26, 2026
e57fe4c
Merge pull request #31200 from story645/cmguide-blocking
timhoffm Mar 26, 2026
7f2188a
Tweak Formatter method docstrings.
anntzer Mar 26, 2026
ff47144
Merge pull request #31392 from anntzer/df
timhoffm Mar 26, 2026
291b5cb
DOC: Rename gallery README.txt files to GALLERY_HEADER.rst
timhoffm Mar 26, 2026
acf3fa1
BLD: Temporarily pin setuptools-scm<10
QuLogic Mar 26, 2026
7c54133
Merge pull request #31399 from timhoffm/doc-gallery-header
QuLogic Mar 27, 2026
9e38f54
Merge pull request #31385 from matplotlib/logo-fontsearch
QuLogic Mar 27, 2026
443c728
Merge pull request #31401 from QuLogic/pin-setuptools-scm
QuLogic Mar 27, 2026
5822546
Allow tuning the shape of {L,R,D}Arrow tips.
anntzer Feb 23, 2026
59331be
Make arrow annotation arrowhead adjustable (tutorial).
Abitamim Feb 23, 2026
48a465e
Make arrow annotation arrowhead adjustable (tests, whatsnew).
CharlieThornton33 Feb 23, 2026
5bf23fd
Merge pull request #31395 from turbotimon/doc-mention-bar_label
turbotimon Mar 27, 2026
2ad0aa7
SEC: Remove eval() from validate_cycler (#31248)
scottshambaugh Mar 27, 2026
49fd492
Merge pull request #31198 from anntzer/roadsign
QuLogic Mar 27, 2026
5e7224a
Merge branch 'main' into text-overhaul
QuLogic Mar 27, 2026
8c34645
Fix wasm build on text-overhaul branch
QuLogic Mar 27, 2026
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
4 changes: 2 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,10 +103,10 @@ commands:
- run:
name: Install Python dependencies
command: |
python -m pip install --user -r requirements/dev/build-requirements.txt
python -m pip install --user --group build
python -m pip install --user \
numpy<< parameters.numpy_version >> \
-r requirements/doc/doc-requirements.txt
--group doc
python -m pip install --no-deps --user \
git+https://github.com/matplotlib/mpl-sphinx-theme.git

Expand Down
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,9 @@ updates:
actions:
patterns:
- "*"
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
exclude-paths:
- "ci/minver-requirements.txt"
4 changes: 3 additions & 1 deletion .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
---
"CI: Run cibuildwheel":
- changed-files:
- any-glob-to-any-file: ['.github/workflows/cibuildwheel.yml']
- any-glob-to-any-file:
- '.github/workflows/cibuildwheel.yml'
- '.github/workflows/wasm.yml'
"CI: Run cygwin":
- changed-files:
- any-glob-to-any-file: ['.github/workflows/cygwin.yml']
Expand Down
80 changes: 80 additions & 0 deletions .github/workflows/autoclose_comment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
name: autoclose comment
# Post comment on PRs when labeled with "status: autoclose candidate".
# Based on scikit-learn's autoclose bot at
# https://github.com/scikit-learn/scikit-learn/blob/main/.github/workflows/autoclose-comment.yml

permissions:
contents: read
pull-requests: write

on:
pull_request_target:
types:
- labeled

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_REPO: ${{ github.repository }}
PULL_REQUEST_NUMBER: ${{ github.event.pull_request.number }}

jobs:
post_comment:
name: post_comment
if: "${{ contains(github.event.label.name, 'status: autoclose candidate') }}"
runs-on: ubuntu-latest

steps:

- name: comment on potential autoclose
run: |
gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/$GH_REPO/issues/$PULL_REQUEST_NUMBER/comments \
-f "body=$BODY"
env:
BODY: >
⏰ This pull request might be automatically closed in two weeks from now.


Thank you for your contribution to Matplotlib and for the effort you
have put into this PR. This pull request does not yet meet the
quality and clarity standards needed for an effective review.
Project maintainers have limited time for code reviews, and our goal
is to prioritize well-prepared contributions to keep Matplotlib
maintainable.


Matplotlib maintainers cannot provide one-to-one guidance on this PR.
However, if you ask focused, well-researched questions, a community
member may be willing to help. 💬


To increase the chance of a productive review:

- Use [the template provided in the PR
description](https://github.com/matplotlib/matplotlib/blob/main/.github/PULL_REQUEST_TEMPLATE.md)
and fill it out as completely as possible, especially the summary and AI Disclosure sections.

- Make sure your PR conforms to our [PR
checklist](https://matplotlib.org/devdocs/devel/pr_guide.html#summary-for-pull-request-authors).


As the author, you are responsible for driving this PR, which entails doing
necessary background research as well as presenting its context and your
thought process. If you are a new contributor, or do not know how to
fulfill these requirements, we recommend that you familiarize
yourself with Matplotlib's
[development conventions](https://matplotlib.org/devdocs/devel/index.html)
or engage with the community via our [Discourse](https://discourse.matplotlib.org/)
or one of our [meetings](https://scientific-python.org/calendars/)
before submitting code.


If you substantially improve this PR within two weeks, leave a comment
and a team member may remove the `status: autoclose candidate` label and the
PR stays open. Cosmetic changes or incomplete fixes will not be
sufficient. Maintainers will assess improvements on their own
schedule. Please do not ping (`@`) maintainers.
37 changes: 37 additions & 0 deletions .github/workflows/autoclose_schedule.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
name: autoclose schedule
# Autoclose PRs labeled with "status: autoclose candidate" after 2 weeks.
# Based on scikit-learn's implementation at
# https://github.com/scikit-learn/scikit-learn/blob/main/.github/workflows/autoclose-schedule.yml

permissions:
contents: read
pull-requests: write

on:
schedule:
- cron: '0 2 * * *' # runs daily at 02:00 UTC
workflow_dispatch:

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:

autoclose:
name: autoclose labeled PRs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: '3.13'
- name: Install PyGithub
run: pip install -Uq PyGithub

- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Close PRs labeled more than 14 days ago
run: |
python tools/autoclose_prs.py
2 changes: 1 addition & 1 deletion .github/workflows/cibuildwheel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ jobs:

steps:
- name: Download sdist
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: cibw-sdist
path: dist/
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
persist-credentials: false

- name: Initialize CodeQL
uses: github/codeql-action/init@0d579ffd059c29b07949a3cce3983f0780820c98 # v4.32.6
uses: github/codeql-action/init@38697555549f1db7851b81482ff19f1fa5c4fedc # v4.34.1
with:
languages: ${{ matrix.language }}

Expand All @@ -45,4 +45,4 @@ jobs:
pip install --user -v .

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@0d579ffd059c29b07949a3cce3983f0780820c98 # v4.32.6
uses: github/codeql-action/analyze@38697555549f1db7851b81482ff19f1fa5c4fedc # v4.34.1
18 changes: 6 additions & 12 deletions .github/workflows/cygwin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -141,21 +141,21 @@ jobs:
# FreeType build fails with bash, succeeds with dash

- name: Cache pip
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
with:
path: C:\cygwin\home\runneradmin\.cache\pip
key: Cygwin-py3.${{ matrix.python-minor-version }}-pip-${{ hashFiles('requirements/*/*.txt') }}
key: Cygwin-py3.${{ matrix.python-minor-version }}-pip-${{ hashFiles('pyproject.toml') }}
restore-keys: ${{ matrix.os }}-py3.${{ matrix.python-minor-version }}-pip-

- name: Cache ccache
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
with:
path: C:\cygwin\home\runneradmin\.ccache
key: Cygwin-py3.${{ matrix.python-minor-version }}-ccache-${{ hashFiles('src/*') }}
restore-keys: Cygwin-py3.${{ matrix.python-minor-version }}-ccache-

- name: Cache Matplotlib
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
with:
path: |
C:\cygwin\home\runneradmin\.cache\matplotlib
Expand All @@ -175,15 +175,9 @@ jobs:
- name: Install Python dependencies
shell: bash.exe -eo pipefail -o igncr "{0}"
run: |
python -m pip install --upgrade pip setuptools wheel
python -m pip install kiwisolver 'numpy>=1.22,<1.26' pillow importlib_resources
grep -v -F -e psutil requirements/testing/all.txt >requirements_test.txt
python -m pip install meson-python pybind11
python -m pip install --group build 'numpy>=1.25,<1.26'
export PATH="/usr/local/bin:$PATH"
python -m pip install --no-build-isolation 'contourpy>=1.0.1'
python -m pip install --upgrade cycler fonttools \
packaging pyparsing python-dateutil 'setuptools-scm<10' \
-r requirements_test.txt sphinx ipython
python -m pip install --upgrade --group test sphinx ipython
python -m pip install --upgrade pycairo 'cairocffi>=0.8' PyGObject &&
python -c 'import gi; gi.require_version("Gtk", "3.0"); from gi.repository import Gtk' &&
echo 'PyGObject is available' ||
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: "3.x"
- uses: j178/prek-action@0bb87d7f00b0c99306c8bcb8b8beba1eb581c037 # v1.1.1
- uses: j178/prek-action@79f765515bd648eb4d6bb1b17277b7cb22cb6468 # v2.0.0
with:
extra_args: --hook-stage manual --all-files

Expand Down Expand Up @@ -69,7 +69,7 @@ jobs:
python-version: '3.11'

- name: Install mypy
run: pip3 install -r requirements/testing/mypy.txt -r requirements/testing/all.txt
run: pip3 install --group build --group typing

- name: Set up reviewdog
uses: reviewdog/action-setup@d8a7baabd7f3e8544ee4dbde3ee41d0011c3a93f # v1.5.0
Expand Down
40 changes: 20 additions & 20 deletions .github/workflows/nightlies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,28 +32,28 @@ jobs:
run: |
PROJECT_REPO="matplotlib/matplotlib"
BRANCH="main"
WORKFLOW_NAME="cibuildwheel.yml"
ARTIFACT_PATTERN="cibw-wheels-*"

gh run --repo "${PROJECT_REPO}" \
list --branch "${BRANCH}" \
--workflow "${WORKFLOW_NAME}" \
--json event,status,conclusion,databaseId > runs.json
RUN_ID=$(
jq --compact-output \
'[
.[] |
# Filter on "push" events to main (merged PRs) ...
select(.event == "push") |
# that have completed successfully ...
select(.status == "completed" and .conclusion == "success")
] |
# and get ID of latest build of wheels.
sort_by(.databaseId) | reverse | .[0].databaseId' runs.json
)
gh run --repo "${PROJECT_REPO}" view "${RUN_ID}"
gh run --repo "${PROJECT_REPO}" \
download "${RUN_ID}" --pattern "${ARTIFACT_PATTERN}"
for WORKFLOW_NAME in cibuildwheel.yml wasm.yml; do
gh run --repo "${PROJECT_REPO}" \
list --branch "${BRANCH}" \
--workflow "${WORKFLOW_NAME}" \
--json event,status,conclusion,databaseId > runs.json
RUN_ID=$(
jq --compact-output \
'[
.[] |
# Filter on "push" events to main (merged PRs) ...
select(.event == "push") |
# that have completed successfully ...
select(.status == "completed" and .conclusion == "success")
] |
# and get ID of latest build of wheels.
sort_by(.databaseId) | reverse | .[0].databaseId' runs.json
)
gh run --repo "${PROJECT_REPO}" view "${RUN_ID}"
gh run --repo "${PROJECT_REPO}" download "${RUN_ID}" --pattern "${ARTIFACT_PATTERN}"
done

mkdir dist
mv ${ARTIFACT_PATTERN}/*.whl dist/
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/pr_welcome.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,10 @@ jobs:
If you have not heard from us in a week or so, please leave a new
comment below and that should bring it to our attention.
Most of our reviewers are volunteers and sometimes things fall
through the cracks.
through the cracks. We also ask that you please finish addressing
any review comments on this PR and wait for it to be merged (or
closed) before opening a new one, as it can be a valuable learning
experience to go through the review process.


You can also join us [on
Expand All @@ -38,7 +41,7 @@ jobs:
please see [the developer
guide](https://matplotlib.org/devdocs/devel/index.html).

**Please let us know if (and how) you use AI, it will help us give you
**Please let us know if (and how) you use AI, it will help us give you
better feedback on your PR.**


Expand Down
28 changes: 13 additions & 15 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,14 +52,14 @@ jobs:
- name-suffix: "(Minimum Versions)"
os: ubuntu-22.04
python-version: '3.11'
extra-requirements: '-c requirements/testing/minver.txt'
extra-requirements: '-c ci/minver-requirements.txt'
delete-font-cache: true
# https://github.com/matplotlib/matplotlib/issues/29844
pygobject-ver: '<3.52.0'
- os: ubuntu-22.04
python-version: '3.11'
CFLAGS: "-fno-lto" # Ensure that disabling LTO works.
extra-requirements: '-r requirements/testing/extra.txt'
extra-requirements: '--group test-extra'
# https://github.com/matplotlib/matplotlib/issues/29844
pygobject-ver: '<3.52.0'
- name-suffix: "(Extra TeX packages)"
Expand Down Expand Up @@ -205,31 +205,33 @@ jobs:
esac

- name: Cache pip
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
if: startsWith(runner.os, 'Linux')
with:
path: ~/.cache/pip
key: ${{ matrix.os }}-py${{ matrix.python-version }}-pip-${{ hashFiles('requirements/*/*.txt') }}
key: |
${{ matrix.os }}-py${{ matrix.python-version }}-pip-${{
hashFiles('pyproject.toml', 'ci/minver-requirements.txt') }}
restore-keys: |
${{ matrix.os }}-py${{ matrix.python-version }}-pip-
- name: Cache pip
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
if: startsWith(runner.os, 'macOS')
with:
path: ~/Library/Caches/pip
key: ${{ matrix.os }}-py${{ matrix.python-version }}-pip-${{ hashFiles('requirements/*/*.txt') }}
key: ${{ matrix.os }}-py${{ matrix.python-version }}-pip-${{ hashFiles('pyproject.toml') }}
restore-keys: |
${{ matrix.os }}-py${{ matrix.python-version }}-pip-
- name: Cache ccache
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
with:
path: |
~/.ccache
key: ${{ matrix.os }}-py${{ matrix.python-version }}-ccache-${{ hashFiles('src/*') }}
restore-keys: |
${{ matrix.os }}-py${{ matrix.python-version }}-ccache-
- name: Cache Matplotlib
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
with:
path: |
~/.cache/matplotlib
Expand All @@ -254,12 +256,8 @@ jobs:

# Install dependencies from PyPI.
# Preinstall build requirements to enable no-build-isolation builds.
python -m pip install --upgrade $PRE \
'contourpy>=1.0.1' cycler fonttools kiwisolver importlib_resources \
packaging pillow 'pyparsing!=3.1.0' python-dateutil 'setuptools-scm<10' \
'meson-python>=0.13.1' 'pybind11>=2.13.2' \
-r requirements/testing/all.txt \
${{ matrix.extra-requirements }}
python -m pip install --upgrade $PRE --prefer-binary \
--group build --group test ${{ matrix.extra-requirements }}

# Install optional dependencies from PyPI.
# Sphinx is needed to run sphinxext tests
Expand Down Expand Up @@ -417,7 +415,7 @@ jobs:
fi
- name: Upload code coverage
if: ${{ !cancelled() && github.event_name != 'schedule' }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@1af58845a975a7985b0beb0cbe6fbbb71a41dbad # v5.5.3
with:
name: "${{ matrix.python-version }} ${{ matrix.os }} ${{ matrix.name-suffix }}"
token: ${{ secrets.CODECOV_TOKEN }}
Expand Down
Loading
Loading