Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Attempt to fix failing CI tests #221

Closed
wants to merge 23 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
ff9d817
Merge pull request #1 from GenevieveBuckley/sphinx-docs
GenevieveBuckley Feb 1, 2024
b237ef6
brew install ffmpeg on mac to fix CI tests
GenevieveBuckley May 24, 2024
5fa417b
Fix formatting in test_and_deploy.yml
GenevieveBuckley May 24, 2024
fe4094d
Try using AnimMouse/setup-ffmpeg github action
GenevieveBuckley May 24, 2024
23cdaa8
Update python versions
GenevieveBuckley May 24, 2024
c3ae5e0
Merge branch 'main' into ffmpeg-install
GenevieveBuckley May 24, 2024
d1a2db1
Revert ruff python version upgrade, best to fix in a new PR
GenevieveBuckley May 24, 2024
a367efc
Skip PySide test on windows-latest and with python 3.11
GenevieveBuckley Jun 3, 2024
ab99d03
Update python versions, install ffmpeg in github actions
GenevieveBuckley Jun 3, 2024
55d6bd8
Github actions tox running on mac arm-64 runner, not compatible with …
GenevieveBuckley Jun 3, 2024
c3b6122
Must also remove tox envs from start of file (exclude PySide from pla…
GenevieveBuckley Jun 3, 2024
282a005
Debugging, run all CI jobs to pinpoint failures
GenevieveBuckley Jun 3, 2024
3cf5b76
Debugging, no fail fast, run all CI jobs
GenevieveBuckley Jun 3, 2024
6fd4373
Drop python 3.8, add python 3.12 in CI tests
GenevieveBuckley Jun 3, 2024
8860e1a
Pin to macos-13 to avoid ffmpeg Apple Silicon problem (ffmpeg binarie…
GenevieveBuckley Jun 3, 2024
8e6541f
Install ffmpeg plugin for imageio, not separate imageio-ffmpeg package
GenevieveBuckley Jun 4, 2024
807e332
PySide2 not available for python >3.10. Switch PyQt tests to macos-la…
GenevieveBuckley Jun 4, 2024
3eff88b
Remove external ffmpeg install, rely on 'pip install imageio[ffmpeg]'
GenevieveBuckley Jun 4, 2024
87ef046
Pin CI tests to macos-13, last mac intel runner, since ffmpeg binarie…
GenevieveBuckley Jun 4, 2024
1c3684b
Try installing ffmpeg with brew, to reliably get ffmpeg binary on App…
GenevieveBuckley Jun 4, 2024
bd6d2af
Revert "Try installing ffmpeg with brew, to reliably get ffmpeg binar…
GenevieveBuckley Jun 4, 2024
1cf2dbc
Add comment about PySide support on macos arm64 (Apple Silicon)
GenevieveBuckley Jun 4, 2024
3be8856
Restore fail fast option for CI test jobs
GenevieveBuckley Jun 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 13 additions & 6 deletions .github/workflows/test_and_deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,23 +28,30 @@ jobs:
task: [black, ruff]
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.8
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.8
python-version: "3.x"

- 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 }}
strategy:
fail-fast: true
matrix:
platform: [ ubuntu-latest, windows-latest, macos-latest ]
python-version: [ "3.8", "3.9", "3.10", "3.11" ]
# 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" ]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -92,7 +99,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Install dependencies
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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 = '''
(
Expand Down
8 changes: 4 additions & 4 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,21 @@ 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


[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]
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be functionally equivalent, but fewer CI jobs failed when imageio & ffmpeg were installed as a single step.

napari>=0.4.19rc5
npe2
numpy
Expand Down
21 changes: 15 additions & 6 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
# 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}-{linux,macos}-pyside

[gh-actions]
python =
3.8: py38
3.9: py39
3.10: py310
3.11: py311
3.12: py312

[gh-actions:env]
PLATFORM =
ubuntu-latest: linux
macos-latest: macos
macos-13: macos # PySide currently unavailable for MacOS arm64
windows-latest: windows

[testenv]
Expand All @@ -32,14 +32,23 @@ 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{38,39,310,311}-{linux,macos,windows}-pyqt]
[testenv:py{39,310,311,312}-{linux,macos,windows}-pyqt]
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 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}-{linux,macos}-pyside]
deps =
napari[pyside2,testing]
lxml_html_clean # should only be needed till napari 0.5.0
Expand Down