Skip to content

Speedup triangulation of edges (#7268) #79

Speedup triangulation of edges (#7268)

Speedup triangulation of edges (#7268) #79

# The Comprehensive test suite, which will be run anytime anything is merged into main.
# See test_pull_request.yml for the tests that will be run
name: Comprehensive Test
on:
push:
branches:
- main
- "v*x"
tags:
- "v*" # Push events to matching v*, i.e. v1.0, v20.15.10
pull_request:
paths:
- '.github/workflows/test_comprehensive.yml'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
env:
COLUMNS: 120
concurrency:
group: comprehensive-test
jobs:
manifest:
name: Check Manifest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: "Set up Python 3.11"
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
pip install --upgrade pip
pip install check-manifest
- name: Check Manifest
run: check-manifest
build_wheel:
name: Build wheel
uses: ./.github/workflows/reusable_build_wheel.yml
test:
name: ${{ matrix.platform }}
uses: ./.github/workflows/reusable_run_tox_test.yml
needs: build_wheel
strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest, windows-latest]
python: ["3.9", "3.10", "3.11", "3.12"]
backend: [pyqt5, pyside2]
include:
- python: "3.10"
platform: macos-latest
backend: pyqt5
# test with minimum specified requirements
- python: "3.9"
platform: ubuntu-20.04
backend: pyqt5
MIN_REQ: 1
# test without any Qt backends
- python: "3.9"
platform: ubuntu-20.04
backend: headless
- python: "3.12"
platform: ubuntu-latest
backend: pyqt6
tox_extras: "testing_extra"
- python: "3.11"
platform: ubuntu-latest
backend: pyside6
tox_extras: "testing_extra"
exclude:
- python: "3.11"
backend: pyside2
- python: "3.12"
backend: pyside2
- platform: windows-latest
backend: pyside2
with:
python_version: ${{ matrix.python }}
platform: ${{ matrix.platform }}
qt_backend: ${{ matrix.backend }}
min_req: ${{ matrix.MIN_REQ }}
coverage: cov
tox_extras: ${{ matrix.tox_extras }}
test_pip_install:
name: pip install
uses: ./.github/workflows/reusable_pip_test.yml
test_examples:
name: test examples
uses: ./.github/workflows/reusable_run_tox_test.yml
needs: build_wheel
with:
toxenv: py39-linux-pyside2-examples-cov
timeout: 60
python_version: 3.9
constraints_suffix: _examples
coverage: cov
coverage_report:
if: ${{ always() }}
needs:
- test
- test_examples
uses: ./.github/workflows/reusable_coverage_upload.yml
secrets:
codecov_token: ${{ secrets.CODECOV_TOKEN }}
synchronize_bot_repository:
name: Synchronize bot repository
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main' && github.repository == 'napari/napari'
permissions:
contents: read
issues: write
steps:
- uses: actions/checkout@v4
with:
token: ${{ secrets.GHA_TOKEN_BOT_REPO_WORKFLOW }}
- name: Synchronize bot repository
run: |
git remote add napari-bot https://github.com/napari-bot/napari.git
git fetch napari-bot
git push --force --set-upstream napari-bot main
- name: Report Failures
if: ${{ failure() }}
uses: JasonEtco/create-an-issue@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RUN_ID: ${{ github.run_id }}
TITLE: '[bot-repo] bot repo update is failing'
with:
filename: .github/BOT_REPO_UPDATE_FAIL_TEMPLATE.md
update_existing: true