Use class name for object that does not have qt name #11422
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Our minimal suite of tests that run on each pull request | |
name: PR Test | |
on: | |
pull_request: | |
branches: | |
- main | |
- "v*x" | |
concurrency: | |
group: test-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
COLUMNS: 120 | |
jobs: | |
manifest: | |
# make sure all necessary files will be bundled in the release | |
name: Check Manifest | |
timeout-minutes: 15 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.x" | |
cache-dependency-path: setup.cfg | |
cache: 'pip' | |
- name: Install Dependencies | |
run: pip install --upgrade pip | |
- name: Install Napari dev | |
run: pip install -e .[build] | |
- name: Check Manifest | |
run: | | |
make typestubs | |
make check-manifest | |
localization_syntax: | |
# make sure all necessary files will be bundled in the release | |
name: Check l18n syntax | |
runs-on: ubuntu-latest | |
timeout-minutes: 2 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.x" | |
- name: Check localization formatting | |
run: | | |
pip install --upgrade pip semgrep | |
# f"..." and f'...' are the same for semgrep | |
semgrep --error --lang python --pattern 'trans._(f"...")' napari | |
semgrep --error --lang python --pattern 'trans._($X.format(...))' napari | |
test: | |
name: ${{ matrix.platform }} ${{ matrix.python }} ${{ matrix.toxenv || matrix.backend }} ${{ matrix.MIN_REQ && 'min_req' }} | |
runs-on: ${{ matrix.platform }} | |
timeout-minutes: 40 | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: [ubuntu-latest] | |
python: ["3.8", "3.9", "3.10", "3.11"] | |
backend: [pyqt5, pyside2] | |
exclude: | |
- python: '3.11' | |
backend: pyside2 | |
include: | |
# Windows py38 | |
- python: 3.8 | |
platform: windows-latest | |
backend: pyqt5 | |
- python: 3.8 | |
platform: windows-latest | |
backend: pyside2 | |
- python: 3.9 | |
platform: macos-latest | |
backend: pyqt5 | |
# minimum specified requirements | |
- python: 3.8 | |
platform: ubuntu-20.04 | |
backend: pyqt5 | |
MIN_REQ: 1 | |
# test without any Qt backends | |
- python: 3.8 | |
platform: ubuntu-20.04 | |
backend: headless | |
- python: 3.9 | |
platform: ubuntu-latest | |
backend: pyqt6 | |
- python: 3.9 | |
platform: ubuntu-latest | |
backend: pyside6 | |
# pyside 6 | |
- python: '3.10' | |
platform: ubuntu-latest | |
backend: pyside6 | |
- python: '3.11' | |
platform: ubuntu-latest | |
backend: pyside6 | |
steps: | |
- name: Cancel Previous Runs | |
uses: styfle/cancel-workflow-action@0.11.0 | |
with: | |
access_token: ${{ github.token }} | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python }} | |
cache: "pip" | |
cache-dependency-path: setup.cfg | |
- uses: tlambert03/setup-qt-libs@v1 | |
# strategy borrowed from vispy for installing opengl libs on windows | |
- name: Install Windows OpenGL | |
if: runner.os == 'Windows' | |
run: | | |
git clone --depth 1 https://github.com/pyvista/gl-ci-helpers.git | |
powershell gl-ci-helpers/appveyor/install_opengl.ps1 | |
if (Test-Path -Path "C:\Windows\system32\opengl32.dll" -PathType Leaf) {Exit 0} else {Exit 1} | |
# tox and tox-gh-actions will take care of the "actual" installation | |
# of python dependendencies into a virtualenv. see tox.ini for more | |
- name: Install dependencies | |
run: | | |
pip install --upgrade pip | |
pip install setuptools tox tox-gh-actions tox-min-req | |
# here we pass off control of environment creation and running of tests to tox | |
# tox-gh-actions, installed above, helps to convert environment variables into | |
# tox "factors" ... limiting the scope of what gets tested on each platform | |
# for instance, on ubuntu-latest with python 3.8, it would be equivalent to this command: | |
# `tox -e py38-linux-pyqt,py38-linux-pyside` | |
# see tox.ini for more | |
- name: Test with tox | |
# the longest is macos-latest 3.9 pyqt5 at ~30 minutes. | |
timeout-minutes: 40 | |
uses: aganders3/headless-gui@v1 | |
with: | |
run: python -m tox | |
env: | |
PLATFORM: ${{ matrix.platform }} | |
BACKEND: ${{ matrix.backend }} | |
TOXENV: ${{ matrix.toxenv }} | |
NUMPY_EXPERIMENTAL_ARRAY_FUNCTION: ${{ matrix.MIN_REQ || 1 }} | |
PYVISTA_OFF_SCREEN: True | |
MIN_REQ: ${{ matrix.MIN_REQ }} | |
FORCE_COLOR: 1 | |
PIP_CONSTRAINT: resources/constraints/constraints_py${{ matrix.python }}${{ matrix.MIN_REQ && '_min_req' }}.txt | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: upload pytest timing reports as json | |
path: | | |
./report-*.json | |
- name: Coverage | |
uses: codecov/codecov-action@v3 | |
test_pip_install: | |
name: ubuntu-latest 3.9 pip install | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
path: napari-from-github | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.9 | |
cache: "pip" | |
cache-dependency-path: napari-from-github/setup.cfg | |
- uses: tlambert03/setup-qt-libs@v1 | |
- name: Install this commit | |
run: | | |
pip install --upgrade pip | |
pip install ./napari-from-github[all,testing] | |
env: | |
PIP_CONSTRAINT: napari-from-github/resources/constraints/constraints_py3.9.txt | |
- name: Test | |
uses: aganders3/headless-gui@v1 | |
with: | |
run: | | |
python -m pytest --pyargs napari --color=yes | |
python -m pytest --pyargs napari_builtins --color=yes | |
test_examples: | |
name: test examples | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: 3.9 | |
cache-dependency-path: napari-from-github/setup.cfg | |
- uses: tlambert03/setup-qt-libs@v1 | |
- name: Install this commit | |
run: | | |
pip install --upgrade pip | |
pip install setuptools tox tox-gh-actions | |
- name: Test | |
uses: aganders3/headless-gui@v1 | |
with: | |
run: tox -e py39-linux-pyside2-examples | |
env: | |
PIP_CONSTRAINT: resources/constraints/constraints_py3.9_examples.txt |