diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index d42ac6ea00a2..282b015fcbf1 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -48,7 +48,7 @@ jobs:
matrix:
include:
- name-suffix: "(Minimum Versions)"
- os: ubuntu-20.04
+ os: ubuntu-22.04
python-version: '3.10'
extra-requirements: '-c requirements/testing/minver.txt'
delete-font-cache: true
@@ -57,22 +57,9 @@ jobs:
pyqt6-ver: '==6.2.0 PyQt6-Qt6==6.2.0'
pyside2-ver: '==5.15.2.1'
pyside6-ver: '==6.2.0'
- - os: ubuntu-20.04
- python-version: '3.10'
- # One CI run tests ipython/matplotlib-inline before backend mapping moved to mpl
- extra-requirements:
- -r requirements/testing/extra.txt
- "ipython==7.29.0"
- "ipykernel==5.5.6"
- "matplotlib-inline<0.1.7"
- CFLAGS: "-fno-lto" # Ensure that disabling LTO works.
- # https://github.com/matplotlib/matplotlib/pull/26052#issuecomment-1574595954
- # https://www.riverbankcomputing.com/pipermail/pyqt/2023-November/045606.html
- pyqt6-ver: '!=6.5.1,!=6.6.0,!=6.7.1'
- # https://bugreports.qt.io/projects/PYSIDE/issues/PYSIDE-2346
- pyside6-ver: '!=6.5.1'
- os: ubuntu-22.04
python-version: '3.11'
+ CFLAGS: "-fno-lto" # Ensure that disabling LTO works.
# https://www.riverbankcomputing.com/pipermail/pyqt/2023-November/045606.html
pyqt6-ver: '!=6.6.0'
# https://bugreports.qt.io/projects/PYSIDE/issues/PYSIDE-2346
@@ -103,10 +90,14 @@ jobs:
pyside6-ver: '!=6.5.1'
- os: macos-14 # This runner is on M1 (arm64) chips.
python-version: '3.12'
+ # https://github.com/matplotlib/matplotlib/issues/29732
+ pygobject-ver: '<3.52.0'
# https://bugreports.qt.io/projects/PYSIDE/issues/PYSIDE-2346
pyside6-ver: '!=6.5.1'
- os: macos-14 # This runner is on M1 (arm64) chips.
python-version: '3.13'
+ # https://github.com/matplotlib/matplotlib/issues/29732
+ pygobject-ver: '<3.52.0'
# https://bugreports.qt.io/projects/PYSIDE/issues/PYSIDE-2346
pyside6-ver: '!=6.5.1'
@@ -176,11 +167,7 @@ jobs:
texlive-luatex \
texlive-pictures \
texlive-xetex
- if [[ "${{ matrix.os }}" = ubuntu-20.04 ]]; then
- sudo apt-get install -yy --no-install-recommends libopengl0
- else # ubuntu-22.04
- sudo apt-get install -yy --no-install-recommends gir1.2-gtk-4.0
- fi
+ sudo apt-get install -yy --no-install-recommends gir1.2-gtk-4.0
;;
macOS)
brew update
@@ -270,7 +257,7 @@ jobs:
# (sometimes, the install appears to be successful but shared
# libraries cannot be loaded at runtime, so an actual import is a
# better check).
- python -m pip install --upgrade pycairo 'cairocffi>=0.8' PyGObject &&
+ python -m pip install --upgrade pycairo 'cairocffi>=0.8' 'PyGObject${{ matrix.pygobject-ver }}' &&
(
python -c 'import gi; gi.require_version("Gtk", "4.0"); from gi.repository import Gtk' &&
echo 'PyGObject 4 is available' || echo 'PyGObject 4 is not available'
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 0c891fe42fef..cfd4f65dc775 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -62,7 +62,7 @@ stages:
vmImage: 'macOS-latest'
python.version: '3.11'
Windows_py310:
- vmImage: 'windows-2019' # keep one job pinned to the oldest image
+ vmImage: 'windows-2022' # keep one job pinned to the oldest image
python.version: '3.10'
Windows_py311:
vmImage: 'windows-latest'
@@ -181,50 +181,22 @@ stages:
VS=$(ls -d /c/Program\ Files*/Microsoft\ Visual\ Studio/*/Enterprise)
echo "Visual Studio: ${VS}"
DIR="$VS/Common7/IDE/Extensions/Microsoft/CodeCoverage.Console"
- if [[ -d $DIR ]]; then
- # This is for MSVC 2022 (on windows-latest).
- TOOL="$DIR/Microsoft.CodeCoverage.Console.exe"
- for f in build/cp*/src/*.pyd; do
- echo $f
- echo "=============================="
- "$TOOL" instrument $f --session-id $SESSION_ID \
- --log-level Verbose --log-file instrument.log
- cat instrument.log
- rm instrument.log
- done
- echo "Starting $TOOL in server mode"
- "$TOOL" collect \
- --session-id $SESSION_ID --server-mode \
- --output-format cobertura --output extensions.xml \
- --log-level Verbose --log-file extensions.log &
- VS_VER=2022
- else
- DIR="$VS"/Team\ Tools/Dynamic\ Code\ Coverage\ Tools/amd64
- if [[ -d $DIR ]]; then
- # This is for MSVC 2019 (on windows-2019).
- VSINSTR="$VS"/Team\ Tools/Performance\ Tools/vsinstr.exe
- for f in build/cp*/src/*.pyd; do
- "$VSINSTR" $f -Verbose -Coverage
- done
- TOOL="$DIR/CodeCoverage.exe"
- cat > extensions.config << EOF
-
Figure caption is here.... -# #
-#Figure caption is here.... + # #
+ #{node["caption"]}
\n' - html_block += '