Skip to content

Commit d248eec

Browse files
committed
Always use PyQT/PySide6 for GitHub CI
1 parent a9ba9d5 commit d248eec

File tree

3 files changed

+34
-27
lines changed

3 files changed

+34
-27
lines changed

.github/workflows/tests.yml

Lines changed: 31 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ jobs:
5858
python-version: '3.11'
5959
- os: macos-latest
6060
python-version: 3.8
61+
extra-requirements: '-r requirements/testing/extra.txt'
6162

6263
steps:
6364
- uses: actions/checkout@v3
@@ -118,6 +119,8 @@ jobs:
118119
brew install ccache
119120
brew tap homebrew/cask-fonts
120121
brew install font-noto-sans-cjk
122+
brew install --cask inkscape
123+
brew install gtk+3 gobject-introspection
121124
;;
122125
esac
123126
@@ -185,44 +188,46 @@ jobs:
185188
# (sometimes, the install appears to be successful but shared
186189
# libraries cannot be loaded at runtime, so an actual import is a
187190
# better check).
188-
# PyGObject, pycairo, and cariocffi do not install on OSX 10.12.
189-
python -m pip install --upgrade pycairo 'cairocffi>=0.8' PyGObject &&
191+
python -m pip install --upgrade pycairo 'cairocffi>=0.8' &&
192+
echo 'Cairo is available' ||
193+
echo 'Cairo is not available'
194+
195+
# PyGObject does not install on OSX 11.6.
196+
python -m pip install --upgrade PyGObject &&
190197
python -c 'import gi; gi.require_version("Gtk", "3.0"); from gi.repository import Gtk' &&
191198
echo 'PyGObject is available' ||
192199
echo 'PyGObject is not available'
193200
194-
# There are no functioning wheels available for OSX 10.12 (as of
195-
# Sept 2020) for either pyqt5 (there are only wheels for 10.13+) or
196-
# pyside2 (the latest version (5.13.2) with 10.12 wheels has a
197-
# fatal to us bug, it was fixed in 5.14.0 which has 10.13 wheels)
198201
python -mpip install --upgrade pyqt5${{ matrix.pyqt5-ver }} &&
199202
python -c 'import PyQt5.QtCore' &&
200203
echo 'PyQt5 is available' ||
201204
echo 'PyQt5 is not available'
205+
python -mpip install --upgrade pyqt6${{ matrix.pyqt6-ver }} &&
206+
python -c 'import PyQt6.QtCore' &&
207+
echo 'PyQt6 is available' ||
208+
echo 'PyQt6 is not available'
209+
python -mpip install --upgrade pyside2${{ matrix.pyside2-ver }} &&
210+
python -c 'import PySide2.QtCore' &&
211+
echo 'PySide2 is available' ||
212+
echo 'PySide2 is not available'
213+
python -mpip install --upgrade pyside6${{ matrix.pyside6-ver }} &&
214+
python -c 'import PySide6.QtCore' &&
215+
echo 'PySide6 is available' ||
216+
echo 'PySide6 is not available'
217+
218+
# No linux wheels in pypi, no working wheels for OSX
202219
if [[ "${{ runner.os }}" != 'macOS' ]]; then
203-
python -mpip install --upgrade pyside2${{ matrix.pyside2-ver }} &&
204-
python -c 'import PySide2.QtCore' &&
205-
echo 'PySide2 is available' ||
206-
echo 'PySide2 is not available'
220+
python -mpip install --upgrade \
221+
-f "https://extras.wxpython.org/wxPython4/extras/linux/gtk3/${{ matrix.os }}" \
222+
wxPython &&
223+
python -c 'import wx' &&
224+
echo 'wxPython is available' ||
225+
echo 'wxPython is not available'
207226
fi
208-
if [[ "${{ matrix.os }}" = ubuntu-20.04 ]]; then
209-
python -mpip install --upgrade pyqt6${{ matrix.pyqt6-ver }} &&
210-
python -c 'import PyQt6.QtCore' &&
211-
echo 'PyQt6 is available' ||
212-
echo 'PyQt6 is not available'
213-
python -mpip install --upgrade pyside6${{ matrix.pyside6-ver }} &&
214-
python -c 'import PySide6.QtCore' &&
215-
echo 'PySide6 is available' ||
216-
echo 'PySide6 is not available'
227+
if [[ "${{ runner.os }}" == 'macOS' ]]; then
228+
echo 'wxPython is not available'
217229
fi
218230
219-
python -mpip install --upgrade \
220-
-f "https://extras.wxpython.org/wxPython4/extras/linux/gtk3/${{ matrix.os }}" \
221-
wxPython &&
222-
python -c 'import wx' &&
223-
echo 'wxPython is available' ||
224-
echo 'wxPython is not available'
225-
226231
- name: Install the nightly dependencies
227232
# Only install the nightly dependencies during the scheduled event
228233
if: ${{ github.event_name == 'schedule' && matrix.name-suffix != '(Minimum Versions)' }}

lib/matplotlib/testing/_markers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,4 @@ def _checkdep_usetex():
4646
reason='xelatex + pgf is required')
4747
needs_usetex = pytest.mark.skipif(
4848
not _checkdep_usetex(),
49-
reason="This test needs a TeX installation")
49+
reason="This test needs a TeX installation with dvipng and ghostscript")

lib/matplotlib/tests/test_backend_svg.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import datetime
22
from io import BytesIO
33
from pathlib import Path
4+
import sys
45
import xml.etree.ElementTree
56
import xml.parsers.expat
67

@@ -74,6 +75,7 @@ def test_bold_font_output():
7475
ax.set_title('bold-title', fontweight='bold')
7576

7677

78+
@pytest.mark.xfail(sys.platform == "darwin", reason='Fails on OSX')
7779
@image_comparison(['bold_font_output_with_none_fonttype.svg'])
7880
def test_bold_font_output_with_none_fonttype():
7981
plt.rcParams['svg.fonttype'] = 'none'

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy