From 74133478a7f1c713e05f4ccf3e04cc7090f57a77 Mon Sep 17 00:00:00 2001 From: James Addison Date: Sun, 20 Oct 2024 14:58:44 +0100 Subject: [PATCH 1/3] Maintenance: upgrade MacOS version for GitHub Actions unit testing --- .github/workflows/unittests.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/unittests.yaml b/.github/workflows/unittests.yaml index cfda32f85..4b999635e 100644 --- a/.github/workflows/unittests.yaml +++ b/.github/workflows/unittests.yaml @@ -15,12 +15,12 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, macos-13, windows-latest] + os: [ubuntu-latest, macos-latest, windows-latest] python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] include: # set toxenv to workaround-darwin on macos (check tox.ini) - toxenv: py - - os: macos-13 + - os: macos-latest toxenv: workaround-darwin runs-on: ${{ matrix.os }} steps: From 2deba9c186235583c2621363b399c493dd5f00dc Mon Sep 17 00:00:00 2001 From: James Addison Date: Sun, 20 Oct 2024 15:06:33 +0100 Subject: [PATCH 2/3] Revert "Maintenance / investigation: reapply lxml workaround for MacOS unit test workflows (#779)" This reverts commit 0a875e800fb519c690b7f45c8c5a8ecc27bd2b79. Conflicts: .github/workflows/unittests.yaml --- .github/workflows/unittests.yaml | 7 +------ tox.ini | 9 --------- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/.github/workflows/unittests.yaml b/.github/workflows/unittests.yaml index 4b999635e..bc0577ddf 100644 --- a/.github/workflows/unittests.yaml +++ b/.github/workflows/unittests.yaml @@ -17,11 +17,6 @@ jobs: matrix: os: [ubuntu-latest, macos-latest, windows-latest] python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] - include: - # set toxenv to workaround-darwin on macos (check tox.ini) - - toxenv: py - - os: macos-latest - toxenv: workaround-darwin runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 @@ -32,4 +27,4 @@ jobs: - name: Run Tests run: | pip install tox - tox -e ${{ matrix.toxenv }} + tox diff --git a/tox.ini b/tox.ini index fdd0af7a0..a664eed69 100644 --- a/tox.ini +++ b/tox.ini @@ -5,15 +5,6 @@ isolated_build = true deps = -r{toxinidir}/requirements-dev.txt commands = coverage run -m unittest {posargs} -# The system-provided libxml2 on MacOS is typically outdated and this can lead to lxml parsing issues -# Using PyPi-provided binary wheels instead resolves this -# We are affected by https://bugs.launchpad.net/lxml/+bug/1949271 in test_wild_mode when using system-provided libxml2 on MacOS -platform = - workaround-darwin: darwin -install_command = - py: python -I -m pip install {opts} {packages} - workaround-darwin: python -I -m pip install --only-binary=lxml {opts} {packages} - [testenv:lint] # note: skip_install affects whether the package-under-test is installed; not whether deps are installed skip_install = true From 4c80003dcc29d507ecdb8c3eb06152afb24d9748 Mon Sep 17 00:00:00 2001 From: James Addison Date: Mon, 21 Oct 2024 12:20:39 +0100 Subject: [PATCH 3/3] Reapply "Maintenance / investigation: reapply lxml workaround for MacOS unit test workflows (#779)" This reverts commit 2deba9c186235583c2621363b399c493dd5f00dc. --- .github/workflows/unittests.yaml | 7 ++++++- tox.ini | 9 +++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/unittests.yaml b/.github/workflows/unittests.yaml index bc0577ddf..4b999635e 100644 --- a/.github/workflows/unittests.yaml +++ b/.github/workflows/unittests.yaml @@ -17,6 +17,11 @@ jobs: matrix: os: [ubuntu-latest, macos-latest, windows-latest] python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] + include: + # set toxenv to workaround-darwin on macos (check tox.ini) + - toxenv: py + - os: macos-latest + toxenv: workaround-darwin runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 @@ -27,4 +32,4 @@ jobs: - name: Run Tests run: | pip install tox - tox + tox -e ${{ matrix.toxenv }} diff --git a/tox.ini b/tox.ini index a664eed69..fdd0af7a0 100644 --- a/tox.ini +++ b/tox.ini @@ -5,6 +5,15 @@ isolated_build = true deps = -r{toxinidir}/requirements-dev.txt commands = coverage run -m unittest {posargs} +# The system-provided libxml2 on MacOS is typically outdated and this can lead to lxml parsing issues +# Using PyPi-provided binary wheels instead resolves this +# We are affected by https://bugs.launchpad.net/lxml/+bug/1949271 in test_wild_mode when using system-provided libxml2 on MacOS +platform = + workaround-darwin: darwin +install_command = + py: python -I -m pip install {opts} {packages} + workaround-darwin: python -I -m pip install --only-binary=lxml {opts} {packages} + [testenv:lint] # note: skip_install affects whether the package-under-test is installed; not whether deps are installed skip_install = true