From 1ef141eedaf2c91d54e5bda4e3fce37d3f91184f Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Thu, 13 May 2021 07:23:19 -0700 Subject: [PATCH] Backport PR #20154: ci: Bump Ubuntu to 18.04 LTS. --- .github/workflows/tests.yml | 28 ++++++++++-------- azure-pipelines.yml | 6 ++-- lib/matplotlib/backends/backend_pgf.py | 3 ++ .../test_backend_pgf/pgf_mixedmode.pdf | Bin 10967 -> 9822 bytes lib/matplotlib/tests/test_backend_pgf.py | 6 +++- 5 files changed, 26 insertions(+), 17 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index e5d7e064f55e..c5e532ec7217 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -22,18 +22,18 @@ jobs: matrix: include: - name-suffix: "(Minimum Versions)" - os: ubuntu-16.04 + os: ubuntu-18.04 python-version: 3.7 extra-requirements: '-c requirements/testing/minver.txt' pyqt5-ver: '==5.8 sip==4.19.7' # oldest versions with a Py3.7 wheel. delete-font-cache: true XVFB_RUN: xvfb-run -a - - os: ubuntu-16.04 + - os: ubuntu-18.04 python-version: 3.7 extra-requirements: '-r requirements/testing/extra.txt' XVFB_RUN: xvfb-run -a CFLAGS: "-fno-lto" # Ensure that disabling LTO works. - - os: ubuntu-16.04 + - os: ubuntu-18.04 python-version: 3.8 extra-requirements: '-r requirements/testing/extra.txt' XVFB_RUN: xvfb-run -a @@ -128,10 +128,10 @@ jobs: ~/.cache/matplotlib !~/.cache/matplotlib/tex.cache !~/.cache/matplotlib/test_cache - key: ${{ runner.os }}-py${{ matrix.python-version }}-mpl-${{ github.ref }}-${{ github.sha }} + key: 1-${{ runner.os }}-py${{ matrix.python-version }}-mpl-${{ github.ref }}-${{ github.sha }} restore-keys: | - ${{ runner.os }}-py${{ matrix.python-version }}-mpl-${{ github.ref }}- - ${{ runner.os }}-py${{ matrix.python-version }}-mpl- + 1-${{ runner.os }}-py${{ matrix.python-version }}-mpl-${{ github.ref }}- + 1-${{ runner.os }}-py${{ matrix.python-version }}-mpl- - name: Install Python dependencies run: | @@ -156,12 +156,8 @@ jobs: # libraries cannot be loaded at runtime, so an actual import is a # better check). if [[ "${{ runner.os }}" != 'macOS' ]]; then - # PyGObject, pycairo, and cariocffi do not install on OSX 10.12; - # pycairo 1.20+ requires a new version of Cairo, unavailable on - # Ubuntu 16.04, so PyGObject must be installed without build - # isolation in order to pick up the lower pre-installed version. - python -m pip install --upgrade 'pycairo<1.20.0' 'cairocffi>=0.8' && - python -m pip install --upgrade --no-build-isolation PyGObject && + # PyGObject, pycairo, and cariocffi do not install on OSX 10.12. + 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' || echo 'PyGObject is not available' @@ -180,7 +176,7 @@ jobs: echo 'PySide2 is not available' fi python -m pip install --upgrade \ - -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-16.04 \ + -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04 \ wxPython && python -c 'import wx' && echo 'wxPython is available' || @@ -226,3 +222,9 @@ jobs: if: ${{ runner.os != 'macOS' }} - name: Upload code coverage uses: codecov/codecov-action@v1 + + - uses: actions/upload-artifact@v2 + if: failure() + with: + name: "${{ matrix.python-version }} ${{ matrix.os }} ${{ matrix.name-suffix }} result images" + path: ./result_images diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 2ff87d0c71da..2c25a7786288 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -6,13 +6,13 @@ strategy: matrix: Linux_py37: - vmImage: 'ubuntu-16.04' + vmImage: 'ubuntu-18.04' python.version: '3.7' Linux_py38: - vmImage: 'ubuntu-16.04' + vmImage: 'ubuntu-18.04' python.version: '3.8' Linux_py39: - vmImage: 'ubuntu-16.04' + vmImage: 'ubuntu-18.04' python.version: '3.9' macOS_py37: vmImage: 'macOS-10.15' diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index 355090608c0c..3139d0fdf8d6 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -968,6 +968,9 @@ def __init__(self, filename, *, keep_empty=True, metadata=None): 'Creator', 'Producer', 'CreationDate', 'ModDate', and 'Trapped'. Values have been predefined for 'Creator', 'Producer' and 'CreationDate'. They can be removed by setting them to `None`. + + Note that some versions of LaTeX engines may ignore the 'Producer' + key and set it to themselves. """ self._output_name = filename self._n_figures = 0 diff --git a/lib/matplotlib/tests/baseline_images/test_backend_pgf/pgf_mixedmode.pdf b/lib/matplotlib/tests/baseline_images/test_backend_pgf/pgf_mixedmode.pdf index fdbb20349c42f67ed7c36d2c51ab80ddf9219019..fd7cf7a5c0d1849f2588809771c179c101a99a00 100644 GIT binary patch literal 9822 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 M?)>@7+Uj)w1yE&cQ2+n{ diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py index 75f50ecbf0d9..040b2e714655 100644 --- a/lib/matplotlib/tests/test_backend_pgf.py +++ b/lib/matplotlib/tests/test_backend_pgf.py @@ -257,13 +257,17 @@ def test_pdf_pages_metadata_check(monkeypatch, system): if '/PTEX.Fullbanner' in info: del info['/PTEX.Fullbanner'] + # Some LaTeX engines ignore this setting, and state themselves as producer. + producer = info.pop('/Producer') + assert producer == f'Matplotlib pgf backend v{mpl.__version__}' or ( + system == 'lualatex' and 'LuaTeX' in producer) + assert info == { '/Author': 'me', '/CreationDate': 'D:19700101000000Z', '/Creator': f'Matplotlib v{mpl.__version__}, https://matplotlib.org', '/Keywords': 'test,pdf,multipage', '/ModDate': 'D:19680801000000Z', - '/Producer': f'Matplotlib pgf backend v{mpl.__version__}', '/Subject': 'Test page', '/Title': 'Multipage PDF with pgf', '/Trapped': '/True',