Thanks to visit codestin.com
Credit goes to github.com

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)