Repository navigation
build(deps): bump the pip group across 1 directory with 2 updates #4902
Workflow file for this run
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: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - release-* | |
| pull_request: | |
| branches: | |
| - main | |
| - release-* | |
| concurrency: | |
| # For pull requests, cancel all currently-running jobs for this workflow | |
| # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#concurrency | |
| group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| jobs: | |
| infra: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: Set up Python | |
| uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 | |
| with: | |
| python-version: "3.10" | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -r local-requirements.txt | |
| pip install -r requirements.txt | |
| pip install -e . | |
| - name: Lint | |
| run: pre-commit run --show-diff-on-failure --color=always --all-files | |
| - name: Check the tests against the upstream test registry | |
| run: python scripts/check_test_registry.py --report | |
| build: | |
| name: Build | |
| timeout-minutes: 90 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| # ubuntu-22.04, not ubuntu-latest: the 24.04 image has no WebGL for headless | |
| # Firefox (CA-008, CA-009). | |
| os: [ubuntu-22.04, windows-latest, macos-latest] | |
| python-version: ['3.14'] | |
| browser: [chromium, firefox, webkit] | |
| exclude: | |
| # WebKit on standard macOS-latest (currently macos-15-arm64) is unstable; | |
| # upstream pins paid macos-15-xlarge for cross-browser webkit too. | |
| - os: macos-latest | |
| browser: webkit | |
| include: | |
| - os: windows-latest | |
| python-version: '3.10' | |
| browser: chromium | |
| - os: macos-latest | |
| python-version: '3.10' | |
| browser: chromium | |
| - os: ubuntu-22.04 | |
| python-version: '3.10' | |
| browser: chromium | |
| - os: macos-15-xlarge | |
| python-version: '3.14' | |
| browser: webkit | |
| - os: windows-latest | |
| python-version: '3.11' | |
| browser: chromium | |
| - os: macos-latest | |
| python-version: '3.11' | |
| browser: chromium | |
| - os: ubuntu-22.04 | |
| python-version: '3.11' | |
| browser: chromium | |
| - os: windows-latest | |
| python-version: '3.12' | |
| browser: chromium | |
| - os: macos-latest | |
| python-version: '3.12' | |
| browser: chromium | |
| - os: ubuntu-22.04 | |
| python-version: '3.12' | |
| browser: chromium | |
| - os: windows-latest | |
| python-version: '3.13' | |
| browser: chromium | |
| - os: macos-latest | |
| python-version: '3.13' | |
| browser: chromium | |
| - os: ubuntu-22.04 | |
| python-version: '3.13' | |
| browser: chromium | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: Set up Python | |
| uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies & browsers | |
| id: install | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -r local-requirements.txt | |
| pip install -r requirements.txt | |
| pip install -e . | |
| python -m build --wheel | |
| python -m playwright install --with-deps ${{ matrix.browser }} | |
| - name: Common Tests | |
| run: pytest tests/common --browser=${{ matrix.browser }} | |
| - name: Test Reference count | |
| run: pytest tests/test_reference_count_async.py --browser=${{ matrix.browser }} | |
| - name: Test Wheel Installation | |
| run: pytest tests/test_installation.py --browser=${{ matrix.browser }} | |
| - name: Test Sync API | |
| if: matrix.os != 'ubuntu-22.04' | |
| run: pytest tests/sync --browser=${{ matrix.browser }} -n auto | |
| - name: Test Sync API | |
| if: matrix.os == 'ubuntu-22.04' | |
| run: xvfb-run pytest tests/sync --browser=${{ matrix.browser }} -n auto | |
| - name: Test Async API | |
| # Also after a failed sync step: the two suites report on their own. | |
| if: ${{ !cancelled() && steps.install.outcome == 'success' && matrix.os != 'ubuntu-22.04' }} | |
| run: pytest tests/async --browser=${{ matrix.browser }} -n auto | |
| - name: Test Async API | |
| if: ${{ !cancelled() && steps.install.outcome == 'success' && matrix.os == 'ubuntu-22.04' }} | |
| run: xvfb-run pytest tests/async --browser=${{ matrix.browser }} -n auto | |
| test-stable: | |
| name: Stable | |
| timeout-minutes: 90 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-22.04, windows-latest, macos-latest] | |
| browser-channel: [chrome] | |
| include: | |
| - os: windows-latest | |
| browser-channel: msedge | |
| - os: macos-latest | |
| browser-channel: msedge | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: Set up Python | |
| uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 | |
| with: | |
| python-version: "3.10" | |
| - name: Install dependencies & browsers | |
| id: install | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -r local-requirements.txt | |
| pip install -r requirements.txt | |
| pip install -e . | |
| python -m build --wheel | |
| python -m playwright install ${{ matrix.browser-channel }} --with-deps | |
| - name: Common Tests | |
| run: pytest tests/common --browser=chromium --browser-channel=${{ matrix.browser-channel }} | |
| - name: Test Sync API | |
| if: matrix.os != 'ubuntu-22.04' | |
| run: pytest tests/sync --browser=chromium --browser-channel=${{ matrix.browser-channel }} -n auto | |
| - name: Test Sync API | |
| if: matrix.os == 'ubuntu-22.04' | |
| run: xvfb-run pytest tests/sync --browser=chromium --browser-channel=${{ matrix.browser-channel }} -n auto | |
| - name: Test Async API | |
| # Also after a failed sync step: the two suites report on their own. | |
| if: ${{ !cancelled() && steps.install.outcome == 'success' && matrix.os != 'ubuntu-22.04' }} | |
| run: pytest tests/async --browser=chromium --browser-channel=${{ matrix.browser-channel }} -n auto | |
| - name: Test Async API | |
| if: ${{ !cancelled() && steps.install.outcome == 'success' && matrix.os == 'ubuntu-22.04' }} | |
| run: xvfb-run pytest tests/async --browser=chromium --browser-channel=${{ matrix.browser-channel }} -n auto | |
| test_examples: | |
| name: Examples | |
| runs-on: ubuntu-22.04 | |
| defaults: | |
| run: | |
| working-directory: examples/todomvc/ | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: Set up Python | |
| uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 | |
| with: | |
| python-version: '3.10' | |
| - name: Install dependencies & browsers | |
| id: install | |
| run: | | |
| pip install -r requirements.txt | |
| python -m playwright install --with-deps chromium | |
| - name: Common Tests | |
| run: pytest |