Fast-path progressbar: ~24 ns/iter (was ~254), behavior-preserving #247
This file contains hidden or 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
| name: tox | |
| on: | |
| push: | |
| pull_request: | |
| workflow_dispatch: | |
| jobs: | |
| perf-budget: | |
| name: Performance budget | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Python 3.13 | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.13' | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install -r tests/requirements.txt | |
| python -m pip install -e . | |
| - name: Performance budget | |
| run: python -m pytest tests/test_perf_budget.py -v --no-cov | |
| build: | |
| name: tox (${{ matrix.tox-env }}) | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - python-version: '3.10' | |
| tox-env: py310 | |
| - python-version: '3.11' | |
| tox-env: py311 | |
| - python-version: '3.12' | |
| tox-env: py312 | |
| - python-version: '3.13' | |
| tox-env: py313 | |
| - python-version: '3.14' | |
| tox-env: py314 | |
| # Python 3.15 is a pre-release and currently unsupported by | |
| # typing_extensions (no released version survives | |
| # `from typing_extensions import *` on 3.15 because | |
| # no_type_check_decorator is still listed in __all__ after its | |
| # removal from typing), which breaks the python_utils import. | |
| # Failures are advisory until upstream catches up. | |
| - python-version: '3.15-dev' | |
| tox-env: py315 | |
| experimental: true | |
| - python-version: '3.14' | |
| tox-env: docs | |
| - python-version: '3.14' | |
| tox-env: black | |
| - python-version: '3.14' | |
| tox-env: ruff | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| allow-prereleases: true | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip tox | |
| - name: Test with tox | |
| # Step-level continue-on-error keeps the job green for | |
| # experimental (pre-release Python) environments while still | |
| # showing the failing step in the logs | |
| continue-on-error: ${{ matrix.experimental || false }} | |
| run: tox -e ${{ matrix.tox-env }} |