From b237ef6948255350074bae9406218523cf12ca99 Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Fri, 24 May 2024 18:14:12 +1000 Subject: [PATCH 01/20] brew install ffmpeg on mac to fix CI tests Temporary fix for issue https://github.com/imageio/imageio-ffmpeg/issues/71 --- .github/workflows/test_and_deploy.yml | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test_and_deploy.yml b/.github/workflows/test_and_deploy.yml index bb28306..381ee52 100644 --- a/.github/workflows/test_and_deploy.yml +++ b/.github/workflows/test_and_deploy.yml @@ -32,12 +32,26 @@ jobs: uses: actions/setup-python@v4 with: python-version: 3.8 + + # Temporary fix for 'pip install imageio-ffmpeg' + # not including the FFMPEG binary on Apple Silicon macs + # This step can be removed when issue is fixed in imageio-ffmpeg + # https://github.com/imageio/imageio-ffmpeg/issues/71 + - name: brew install ffmpeg + if: runner.os == 'macOS' + uses: artemnovichkov/action-homebrew@0.1.0 + run: | + brew update + brew install ffmpeg + - name: Install dependencies run: | pip install --upgrade pip pip install tox - - name: Run task + + - name: Run tox run: tox -e ${{ matrix.task }} + test: name: ${{ matrix.platform }} py${{ matrix.python-version }} runs-on: ${{ matrix.platform }} @@ -64,6 +78,17 @@ jobs: powershell gl-ci-helpers/appveyor/install_opengl.ps1 if (Test-Path -Path "C:\Windows\system32\opengl32.dll" -PathType Leaf) {Exit 0} else {Exit 1} + # Temporary fix for 'pip install imageio-ffmpeg' + # not including the FFMPEG binary on Apple Silicon macs + # This step can be removed when issue is fixed in imageio-ffmpeg + # https://github.com/imageio/imageio-ffmpeg/issues/71 + - name: brew install ffmpeg + if: runner.os == 'macOS' + uses: artemnovichkov/action-homebrew@0.1.0 + run: | + brew update + brew install ffmpeg + - name: Install dependencies run: | python -m pip install --upgrade pip From 5fa417b446816946378b846abf40d3b5b7c67abb Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Fri, 24 May 2024 18:25:16 +1000 Subject: [PATCH 02/20] Fix formatting in test_and_deploy.yml --- .github/workflows/test_and_deploy.yml | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/.github/workflows/test_and_deploy.yml b/.github/workflows/test_and_deploy.yml index 381ee52..31a20af 100644 --- a/.github/workflows/test_and_deploy.yml +++ b/.github/workflows/test_and_deploy.yml @@ -33,13 +33,15 @@ jobs: with: python-version: 3.8 - # Temporary fix for 'pip install imageio-ffmpeg' - # not including the FFMPEG binary on Apple Silicon macs - # This step can be removed when issue is fixed in imageio-ffmpeg - # https://github.com/imageio/imageio-ffmpeg/issues/71 - - name: brew install ffmpeg + # Temporary fix for 'pip install imageio-ffmpeg' + # not including the FFMPEG binary on Apple Silicon macs + # This step can be removed when issue is fixed in imageio-ffmpeg + # https://github.com/imageio/imageio-ffmpeg/issues/71 + - name: Homebrew github action if: runner.os == 'macOS' uses: artemnovichkov/action-homebrew@0.1.0 + - name: brew install ffmpeg + if: runner.os == 'macOS' run: | brew update brew install ffmpeg @@ -78,13 +80,15 @@ jobs: powershell gl-ci-helpers/appveyor/install_opengl.ps1 if (Test-Path -Path "C:\Windows\system32\opengl32.dll" -PathType Leaf) {Exit 0} else {Exit 1} - # Temporary fix for 'pip install imageio-ffmpeg' - # not including the FFMPEG binary on Apple Silicon macs - # This step can be removed when issue is fixed in imageio-ffmpeg - # https://github.com/imageio/imageio-ffmpeg/issues/71 - - name: brew install ffmpeg + # Temporary fix for 'pip install imageio-ffmpeg' + # not including the FFMPEG binary on Apple Silicon macs + # This step can be removed when issue is fixed in imageio-ffmpeg + # https://github.com/imageio/imageio-ffmpeg/issues/71 + - name: Homebrew github action if: runner.os == 'macOS' uses: artemnovichkov/action-homebrew@0.1.0 + - name: brew install ffmpeg + if: runner.os == 'macOS' run: | brew update brew install ffmpeg From fe4094d0ac19670ef37422a7e20b83828b731588 Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Fri, 24 May 2024 18:30:54 +1000 Subject: [PATCH 03/20] Try using AnimMouse/setup-ffmpeg github action --- .github/workflows/test_and_deploy.yml | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/.github/workflows/test_and_deploy.yml b/.github/workflows/test_and_deploy.yml index 31a20af..06a3f63 100644 --- a/.github/workflows/test_and_deploy.yml +++ b/.github/workflows/test_and_deploy.yml @@ -37,14 +37,9 @@ jobs: # not including the FFMPEG binary on Apple Silicon macs # This step can be removed when issue is fixed in imageio-ffmpeg # https://github.com/imageio/imageio-ffmpeg/issues/71 - - name: Homebrew github action + - name: Setup FFmpeg if: runner.os == 'macOS' - uses: artemnovichkov/action-homebrew@0.1.0 - - name: brew install ffmpeg - if: runner.os == 'macOS' - run: | - brew update - brew install ffmpeg + uses: AnimMouse/setup-ffmpeg@v1 - name: Install dependencies run: | @@ -84,14 +79,9 @@ jobs: # not including the FFMPEG binary on Apple Silicon macs # This step can be removed when issue is fixed in imageio-ffmpeg # https://github.com/imageio/imageio-ffmpeg/issues/71 - - name: Homebrew github action + - name: Setup FFmpeg if: runner.os == 'macOS' - uses: artemnovichkov/action-homebrew@0.1.0 - - name: brew install ffmpeg - if: runner.os == 'macOS' - run: | - brew update - brew install ffmpeg + uses: AnimMouse/setup-ffmpeg@v1 - name: Install dependencies run: | From 23cdaa8f74c6bd105a3f8e8ef863c1679bd8b13b Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Fri, 24 May 2024 18:39:28 +1000 Subject: [PATCH 04/20] Update python versions --- .github/workflows/test_and_deploy.yml | 4 ++-- pyproject.toml | 4 ++-- setup.cfg | 3 ++- tox.ini | 8 ++++---- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/test_and_deploy.yml b/.github/workflows/test_and_deploy.yml index 06a3f63..c34996d 100644 --- a/.github/workflows/test_and_deploy.yml +++ b/.github/workflows/test_and_deploy.yml @@ -28,10 +28,10 @@ jobs: task: [black, ruff] steps: - uses: actions/checkout@v4 - - name: Set up Python 3.8 + - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.8 + python-version: "3.x" # Temporary fix for 'pip install imageio-ffmpeg' # not including the FFMPEG binary on Apple Silicon macs diff --git a/pyproject.toml b/pyproject.toml index 3c03a73..2e5063b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ build-backend = "setuptools.build_meta" [tool.black] -target-version = ['py38', 'py39', 'py310', 'py311'] +target-version = ['py39', 'py310', 'py311', 'py312'] line-length = 79 exclude = ''' ( @@ -53,5 +53,5 @@ ignore = [ "SIM117", # flake8-simplify - some of merged with statements are not looking great with black, reanble after drop python 3.9 ] -target-version = "py38" +target-version = "py312" fix = true diff --git a/setup.cfg b/setup.cfg index adfe8c8..b0f2b0f 100644 --- a/setup.cfg +++ b/setup.cfg @@ -16,9 +16,10 @@ classifiers = Framework :: napari Programming Language :: Python Programming Language :: Python :: 3 - Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 + Programming Language :: Python :: 3.11 + Programming Language :: Python :: 3.12 Operating System :: OS Independent License :: OSI Approved :: BSD License diff --git a/tox.ini b/tox.ini index af2b8d3..88d7fa2 100644 --- a/tox.ini +++ b/tox.ini @@ -1,13 +1,13 @@ # For more information about tox, see https://tox.readthedocs.io/en/latest/ [tox] -envlist = py{38,39,310,311}-{linux,macos,windows}-pyqt, py{38,39,310}-{linux,macos,windows}-pyside +envlist = py{39,310,311,312}-{linux,macos,windows}-pyqt, py{39,310,311,312}-{linux,macos,windows}-pyside [gh-actions] python = - 3.8: py38 3.9: py39 3.10: py310 3.11: py311 + 3.12: py312 [gh-actions:env] PLATFORM = @@ -34,11 +34,11 @@ deps = pytest-xvfb ; sys_platform == 'linux' commands = pytest -v --color=yes --cov=napari_animation --cov-report=xml -[testenv:py{38,39,310,311}-{linux,macos,windows}-pyqt] +[testenv:py{39,310,311,312}-{linux,macos,windows}-pyqt] deps = napari[pyqt5,testing] -[testenv:py{38,39,310}-{linux,macos,windows}-pyside] +[testenv:py{39,310,311,312}-{linux,macos,windows}-pyside] deps = napari[pyside2,testing] From d1a2db1dddf5f62e2204113711b10911b226bdbb Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Fri, 24 May 2024 18:49:51 +1000 Subject: [PATCH 05/20] Revert ruff python version upgrade, best to fix in a new PR --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 2e5063b..fed478e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -53,5 +53,5 @@ ignore = [ "SIM117", # flake8-simplify - some of merged with statements are not looking great with black, reanble after drop python 3.9 ] -target-version = "py312" +target-version = "py38" fix = true From a367efc4c13168b616153840ec2d234bf4162a61 Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Mon, 3 Jun 2024 12:05:10 +1000 Subject: [PATCH 06/20] Skip PySide test on windows-latest and with python 3.11 --- tox.ini | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index e5efda8..da5d82e 100644 --- a/tox.ini +++ b/tox.ini @@ -39,7 +39,15 @@ deps = napari[pyqt5,testing] lxml_html_clean # should only be needed till napari 0.5.0 -[testenv:py{38,39,310}-{linux,macos,windows}-pyside] +# napari is experiencing CI failures with PySide backends +# on Windows platforms for all versions of python, and +# on all platforms with python 3.11 +# See issues: +# Python 3.11 PySide problems https://github.com/napari/napari/issues/6381 +# and https://github.com/napari/napari/issues/5884#issuecomment-1584160532 +# Windows PySide problems https://github.com/napari/napari/pull/6721/files +# and https://github.com/napari/napari/pull/6711/ +[testenv:py{38,39,310}-{linux,macos}-pyside] deps = napari[pyside2,testing] lxml_html_clean # should only be needed till napari 0.5.0 From 55d6bd847cc888a88af79103aec810493ef29cb7 Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Mon, 3 Jun 2024 16:50:22 +1000 Subject: [PATCH 07/20] Github actions tox running on mac arm-64 runner, not compatible with PySide2 packages --- tox.ini | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 2a11b27..c36b6f3 100644 --- a/tox.ini +++ b/tox.ini @@ -42,12 +42,13 @@ deps = # napari is experiencing CI failures with PySide backends # on Windows platforms for all versions of python, and # on all platforms with python 3.11 +# Finally, PySide2 is not currently available for macos arm-64 machines. # See issues: # Python 3.11 PySide problems https://github.com/napari/napari/issues/6381 # and https://github.com/napari/napari/issues/5884#issuecomment-1584160532 # Windows PySide problems https://github.com/napari/napari/pull/6721/files # and https://github.com/napari/napari/pull/6711/ -[testenv:py{39,310,312}-{linux,macos}-pyside] +[testenv:py{39,310,312}-{linux}-pyside] deps = napari[pyside2,testing] lxml_html_clean # should only be needed till napari 0.5.0 From c3b61227d3a9528308b5806bac373d9e859bb3bf Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Mon, 3 Jun 2024 16:57:33 +1000 Subject: [PATCH 08/20] Must also remove tox envs from start of file (exclude PySide from platforms it won't run on) --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index c36b6f3..786b917 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ # For more information about tox, see https://tox.readthedocs.io/en/latest/ [tox] -envlist = py{39,310,311,312}-{linux,macos,windows}-pyqt, py{39,310,311,312}-{linux,macos,windows}-pyside +envlist = py{39,310,311,312}-{linux,macos,windows}-pyqt, py{39,310,312}-{linux}-pyside [gh-actions] python = From 282a0056a3639c7dcac338cc642e1614056447af Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Mon, 3 Jun 2024 17:15:58 +1000 Subject: [PATCH 09/20] Debugging, run all CI jobs to pinpoint failures --- .github/workflows/test_and_deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_and_deploy.yml b/.github/workflows/test_and_deploy.yml index 3542084..1a12600 100644 --- a/.github/workflows/test_and_deploy.yml +++ b/.github/workflows/test_and_deploy.yml @@ -16,7 +16,7 @@ on: concurrency: group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true + # cancel-in-progress: true jobs: code: From 3cf5b76b613239c63a03f243b6b61283ee39cf2d Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Mon, 3 Jun 2024 17:33:17 +1000 Subject: [PATCH 10/20] Debugging, no fail fast, run all CI jobs --- .github/workflows/test_and_deploy.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test_and_deploy.yml b/.github/workflows/test_and_deploy.yml index 1a12600..d271634 100644 --- a/.github/workflows/test_and_deploy.yml +++ b/.github/workflows/test_and_deploy.yml @@ -16,7 +16,7 @@ on: concurrency: group: ${{ github.workflow }}-${{ github.ref }} - # cancel-in-progress: true + cancel-in-progress: true jobs: code: @@ -53,6 +53,7 @@ jobs: name: ${{ matrix.platform }} py${{ matrix.python-version }} runs-on: ${{ matrix.platform }} strategy: + fail-fast: false matrix: platform: [ ubuntu-latest, windows-latest, macos-latest ] python-version: [ "3.8", "3.9", "3.10", "3.11" ] From 6fd4373a554d895f3115a410d0bb42ef79549698 Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Mon, 3 Jun 2024 17:36:43 +1000 Subject: [PATCH 11/20] Drop python 3.8, add python 3.12 in CI tests --- .github/workflows/test_and_deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_and_deploy.yml b/.github/workflows/test_and_deploy.yml index d271634..77197a3 100644 --- a/.github/workflows/test_and_deploy.yml +++ b/.github/workflows/test_and_deploy.yml @@ -56,7 +56,7 @@ jobs: fail-fast: false matrix: platform: [ ubuntu-latest, windows-latest, macos-latest ] - python-version: [ "3.8", "3.9", "3.10", "3.11" ] + python-version: [ "3.9", "3.10", "3.11", "3.12" ] steps: - uses: actions/checkout@v4 From 8860e1a8e255c66a38be6a2e19ca6ac3cc275f0a Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Mon, 3 Jun 2024 17:48:47 +1000 Subject: [PATCH 12/20] Pin to macos-13 to avoid ffmpeg Apple Silicon problem (ffmpeg binaries not available) --- .github/workflows/test_and_deploy.yml | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/.github/workflows/test_and_deploy.yml b/.github/workflows/test_and_deploy.yml index 77197a3..29e5d00 100644 --- a/.github/workflows/test_and_deploy.yml +++ b/.github/workflows/test_and_deploy.yml @@ -55,7 +55,9 @@ jobs: strategy: fail-fast: false matrix: - platform: [ ubuntu-latest, windows-latest, macos-latest ] + # Upgrade to macos-latest when ffmpeg binaries are available for Mac arm-64 + # https://github.com/imageio/imageio-ffmpeg/issues/71 + platform: [ ubuntu-latest, windows-latest, macos-13 ] python-version: [ "3.9", "3.10", "3.11", "3.12" ] steps: @@ -76,14 +78,6 @@ jobs: powershell gl-ci-helpers/appveyor/install_opengl.ps1 if (Test-Path -Path "C:\Windows\system32\opengl32.dll" -PathType Leaf) {Exit 0} else {Exit 1} - # Temporary fix for 'pip install imageio-ffmpeg' - # not including the FFMPEG binary on Apple Silicon macs - # This step can be removed when issue is fixed in imageio-ffmpeg - # https://github.com/imageio/imageio-ffmpeg/issues/71 - - name: Setup FFmpeg - if: runner.os == 'macOS' - uses: AnimMouse/setup-ffmpeg@v1 - - name: Install dependencies run: | python -m pip install --upgrade pip From 8e6541f3b362f9a3980d22217607ab120454b2bf Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Tue, 4 Jun 2024 11:15:15 +1000 Subject: [PATCH 13/20] Install ffmpeg plugin for imageio, not separate imageio-ffmpeg package --- setup.cfg | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/setup.cfg b/setup.cfg index b0df13b..4f36651 100644 --- a/setup.cfg +++ b/setup.cfg @@ -27,11 +27,10 @@ classifiers = [options] zip_safe = False packages = find: -python_requires = >=3.8 +python_requires = >=3.9 include_package_data = True install_requires = - imageio - imageio-ffmpeg + imageio[ffmpeg] napari>=0.4.19rc5 npe2 numpy From 807e332b7e5d57685f50c928a06cb5d4608fccb1 Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Tue, 4 Jun 2024 11:39:01 +1000 Subject: [PATCH 14/20] PySide2 not available for python >3.10. Switch PyQt tests to macos-latest arm64 runner. --- tox.ini | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tox.ini b/tox.ini index 786b917..9d86e03 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ # For more information about tox, see https://tox.readthedocs.io/en/latest/ [tox] -envlist = py{39,310,311,312}-{linux,macos,windows}-pyqt, py{39,310,312}-{linux}-pyside +envlist = py{39,310,311,312}-{linux,macos,windows}-pyqt, py{39,310}-{linux,macos-intel}-pyside [gh-actions] python = @@ -13,6 +13,7 @@ python = PLATFORM = ubuntu-latest: linux macos-latest: macos + macos-13: macos-intel # PySide currently unavailable for MacOS arm64 windows-latest: windows [testenv] @@ -32,7 +33,7 @@ deps = pytest-cov # https://pytest-cov.readthedocs.io/en/latest/ pytest-qt # https://pytest-qt.readthedocs.io/en/latest/intro.html pytest-xvfb ; sys_platform == 'linux' -commands = pytest -v --color=yes --cov=napari_animation --cov-report=xml +commands = pytest -v --color=yes --cov=napari_animation --cov-report=xml --pdb [testenv:py{39,310,311,312}-{linux,macos,windows}-pyqt] deps = @@ -41,14 +42,14 @@ deps = # napari is experiencing CI failures with PySide backends # on Windows platforms for all versions of python, and -# on all platforms with python 3.11 +# on all platforms with python greater than 3.10. # Finally, PySide2 is not currently available for macos arm-64 machines. # See issues: # Python 3.11 PySide problems https://github.com/napari/napari/issues/6381 # and https://github.com/napari/napari/issues/5884#issuecomment-1584160532 # Windows PySide problems https://github.com/napari/napari/pull/6721/files # and https://github.com/napari/napari/pull/6711/ -[testenv:py{39,310,312}-{linux}-pyside] +[testenv:py{39,310}-{linux,macos-intel}-pyside] deps = napari[pyside2,testing] lxml_html_clean # should only be needed till napari 0.5.0 From 3eff88b4beffb2da948b9cbb331535a5cd0059e1 Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Tue, 4 Jun 2024 11:41:50 +1000 Subject: [PATCH 15/20] Remove external ffmpeg install, rely on 'pip install imageio[ffmpeg]' --- .github/workflows/test_and_deploy.yml | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/.github/workflows/test_and_deploy.yml b/.github/workflows/test_and_deploy.yml index 29e5d00..5cfb364 100644 --- a/.github/workflows/test_and_deploy.yml +++ b/.github/workflows/test_and_deploy.yml @@ -33,14 +33,6 @@ jobs: with: python-version: "3.x" - # Temporary fix for 'pip install imageio-ffmpeg' - # not including the FFMPEG binary on Apple Silicon macs - # This step can be removed when issue is fixed in imageio-ffmpeg - # https://github.com/imageio/imageio-ffmpeg/issues/71 - - name: Setup FFmpeg - if: runner.os == 'macOS' - uses: AnimMouse/setup-ffmpeg@v1 - - name: Install dependencies run: | pip install --upgrade pip @@ -57,7 +49,7 @@ jobs: matrix: # Upgrade to macos-latest when ffmpeg binaries are available for Mac arm-64 # https://github.com/imageio/imageio-ffmpeg/issues/71 - platform: [ ubuntu-latest, windows-latest, macos-13 ] + platform: [ ubuntu-latest, windows-latest, macos-latest, macos-13 ] python-version: [ "3.9", "3.10", "3.11", "3.12" ] steps: From 87ef0469f34a23f33a291fa328404882294821cc Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Tue, 4 Jun 2024 11:51:02 +1000 Subject: [PATCH 16/20] Pin CI tests to macos-13, last mac intel runner, since ffmpeg binaries for mac arm64 not available via imageio[ffmpeg] plugin --- .github/workflows/test_and_deploy.yml | 2 +- tox.ini | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test_and_deploy.yml b/.github/workflows/test_and_deploy.yml index 5cfb364..1b949ac 100644 --- a/.github/workflows/test_and_deploy.yml +++ b/.github/workflows/test_and_deploy.yml @@ -49,7 +49,7 @@ jobs: matrix: # Upgrade to macos-latest when ffmpeg binaries are available for Mac arm-64 # https://github.com/imageio/imageio-ffmpeg/issues/71 - platform: [ ubuntu-latest, windows-latest, macos-latest, macos-13 ] + platform: [ ubuntu-latest, windows-latest, macos-13 ] python-version: [ "3.9", "3.10", "3.11", "3.12" ] steps: diff --git a/tox.ini b/tox.ini index 9d86e03..0ef87cd 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ # For more information about tox, see https://tox.readthedocs.io/en/latest/ [tox] -envlist = py{39,310,311,312}-{linux,macos,windows}-pyqt, py{39,310}-{linux,macos-intel}-pyside +envlist = py{39,310,311,312}-{linux,macos,windows}-pyqt, py{39,310}-{linux,macos}-pyside [gh-actions] python = @@ -12,8 +12,7 @@ python = [gh-actions:env] PLATFORM = ubuntu-latest: linux - macos-latest: macos - macos-13: macos-intel # PySide currently unavailable for MacOS arm64 + macos-13: macos # PySide currently unavailable for MacOS arm64 windows-latest: windows [testenv] @@ -49,7 +48,7 @@ deps = # and https://github.com/napari/napari/issues/5884#issuecomment-1584160532 # Windows PySide problems https://github.com/napari/napari/pull/6721/files # and https://github.com/napari/napari/pull/6711/ -[testenv:py{39,310}-{linux,macos-intel}-pyside] +[testenv:py{39,310}-{linux,macos}-pyside] deps = napari[pyside2,testing] lxml_html_clean # should only be needed till napari 0.5.0 From 1c3684bae2565e94dab0b7360be3caf683b20e27 Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Tue, 4 Jun 2024 13:26:10 +1000 Subject: [PATCH 17/20] Try installing ffmpeg with brew, to reliably get ffmpeg binary on Apple Silicon macos arm64 --- .github/workflows/test_and_deploy.yml | 15 ++++++++++++--- tox.ini | 7 ++++--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test_and_deploy.yml b/.github/workflows/test_and_deploy.yml index 1b949ac..1771df5 100644 --- a/.github/workflows/test_and_deploy.yml +++ b/.github/workflows/test_and_deploy.yml @@ -33,6 +33,16 @@ jobs: with: python-version: "3.x" + # Temporary fix for 'pip install imageio[ffmpeg]' + # not including the FFMPEG binary on Apple Silicon macs + # This step can be removed when issue is fixed in imageio-ffmpeg + # https://github.com/imageio/imageio-ffmpeg/issues/71 + - name: brew install ffmpeg + if: runner.os == 'macOS' + run: | + brew update + brew install ffmpeg + - name: Install dependencies run: | pip install --upgrade pip @@ -47,9 +57,8 @@ jobs: strategy: fail-fast: false matrix: - # Upgrade to macos-latest when ffmpeg binaries are available for Mac arm-64 - # https://github.com/imageio/imageio-ffmpeg/issues/71 - platform: [ ubuntu-latest, windows-latest, macos-13 ] + # PySide currently unavailable for MacOS arm64, test with macos-13 + platform: [ ubuntu-latest, windows-latest, macos-latest, macos-13 ] python-version: [ "3.9", "3.10", "3.11", "3.12" ] steps: diff --git a/tox.ini b/tox.ini index 0ef87cd..9d86e03 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ # For more information about tox, see https://tox.readthedocs.io/en/latest/ [tox] -envlist = py{39,310,311,312}-{linux,macos,windows}-pyqt, py{39,310}-{linux,macos}-pyside +envlist = py{39,310,311,312}-{linux,macos,windows}-pyqt, py{39,310}-{linux,macos-intel}-pyside [gh-actions] python = @@ -12,7 +12,8 @@ python = [gh-actions:env] PLATFORM = ubuntu-latest: linux - macos-13: macos # PySide currently unavailable for MacOS arm64 + macos-latest: macos + macos-13: macos-intel # PySide currently unavailable for MacOS arm64 windows-latest: windows [testenv] @@ -48,7 +49,7 @@ deps = # and https://github.com/napari/napari/issues/5884#issuecomment-1584160532 # Windows PySide problems https://github.com/napari/napari/pull/6721/files # and https://github.com/napari/napari/pull/6711/ -[testenv:py{39,310}-{linux,macos}-pyside] +[testenv:py{39,310}-{linux,macos-intel}-pyside] deps = napari[pyside2,testing] lxml_html_clean # should only be needed till napari 0.5.0 From bd6d2af20be560e9aaa1eaf353d0ca067144aca6 Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Tue, 4 Jun 2024 13:30:20 +1000 Subject: [PATCH 18/20] Revert "Try installing ffmpeg with brew, to reliably get ffmpeg binary on Apple Silicon macos arm64" This reverts commit 1c3684bae2565e94dab0b7360be3caf683b20e27. --- .github/workflows/test_and_deploy.yml | 15 +++------------ tox.ini | 7 +++---- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/.github/workflows/test_and_deploy.yml b/.github/workflows/test_and_deploy.yml index 1771df5..1b949ac 100644 --- a/.github/workflows/test_and_deploy.yml +++ b/.github/workflows/test_and_deploy.yml @@ -33,16 +33,6 @@ jobs: with: python-version: "3.x" - # Temporary fix for 'pip install imageio[ffmpeg]' - # not including the FFMPEG binary on Apple Silicon macs - # This step can be removed when issue is fixed in imageio-ffmpeg - # https://github.com/imageio/imageio-ffmpeg/issues/71 - - name: brew install ffmpeg - if: runner.os == 'macOS' - run: | - brew update - brew install ffmpeg - - name: Install dependencies run: | pip install --upgrade pip @@ -57,8 +47,9 @@ jobs: strategy: fail-fast: false matrix: - # PySide currently unavailable for MacOS arm64, test with macos-13 - platform: [ ubuntu-latest, windows-latest, macos-latest, macos-13 ] + # Upgrade to macos-latest when ffmpeg binaries are available for Mac arm-64 + # https://github.com/imageio/imageio-ffmpeg/issues/71 + platform: [ ubuntu-latest, windows-latest, macos-13 ] python-version: [ "3.9", "3.10", "3.11", "3.12" ] steps: diff --git a/tox.ini b/tox.ini index 9d86e03..0ef87cd 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ # For more information about tox, see https://tox.readthedocs.io/en/latest/ [tox] -envlist = py{39,310,311,312}-{linux,macos,windows}-pyqt, py{39,310}-{linux,macos-intel}-pyside +envlist = py{39,310,311,312}-{linux,macos,windows}-pyqt, py{39,310}-{linux,macos}-pyside [gh-actions] python = @@ -12,8 +12,7 @@ python = [gh-actions:env] PLATFORM = ubuntu-latest: linux - macos-latest: macos - macos-13: macos-intel # PySide currently unavailable for MacOS arm64 + macos-13: macos # PySide currently unavailable for MacOS arm64 windows-latest: windows [testenv] @@ -49,7 +48,7 @@ deps = # and https://github.com/napari/napari/issues/5884#issuecomment-1584160532 # Windows PySide problems https://github.com/napari/napari/pull/6721/files # and https://github.com/napari/napari/pull/6711/ -[testenv:py{39,310}-{linux,macos-intel}-pyside] +[testenv:py{39,310}-{linux,macos}-pyside] deps = napari[pyside2,testing] lxml_html_clean # should only be needed till napari 0.5.0 From 1cf2dbc316a465120f41c58ae9640769c115841d Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Tue, 4 Jun 2024 13:32:35 +1000 Subject: [PATCH 19/20] Add comment about PySide support on macos arm64 (Apple Silicon) --- .github/workflows/test_and_deploy.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test_and_deploy.yml b/.github/workflows/test_and_deploy.yml index 1b949ac..3400280 100644 --- a/.github/workflows/test_and_deploy.yml +++ b/.github/workflows/test_and_deploy.yml @@ -49,6 +49,7 @@ jobs: matrix: # Upgrade to macos-latest when ffmpeg binaries are available for Mac arm-64 # https://github.com/imageio/imageio-ffmpeg/issues/71 + # and when PySide is made available for Apple Silicon macos arm64 platform: [ ubuntu-latest, windows-latest, macos-13 ] python-version: [ "3.9", "3.10", "3.11", "3.12" ] From 3be8856ef4e0daff310cee69d248d57998efeaf9 Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Tue, 4 Jun 2024 13:34:11 +1000 Subject: [PATCH 20/20] Restore fail fast option for CI test jobs --- .github/workflows/test_and_deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_and_deploy.yml b/.github/workflows/test_and_deploy.yml index 3400280..54e8717 100644 --- a/.github/workflows/test_and_deploy.yml +++ b/.github/workflows/test_and_deploy.yml @@ -45,7 +45,7 @@ jobs: name: ${{ matrix.platform }} py${{ matrix.python-version }} runs-on: ${{ matrix.platform }} strategy: - fail-fast: false + fail-fast: true matrix: # Upgrade to macos-latest when ffmpeg binaries are available for Mac arm-64 # https://github.com/imageio/imageio-ffmpeg/issues/71