docs(readme): name every container that defers a chart, and what does… #16
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 | |
| # Every step is a make target, so the same checks run locally with `make check`. | |
| # The release workflow runs the identical targets before it publishes. | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| checks: | |
| name: Python ${{ matrix.python-version }} | |
| runs-on: ubuntu-latest | |
| # Generous: `playwright install --with-deps` fetches fonts from the Ubuntu mirror, | |
| # which has taken over ten minutes on a slow day. | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: astral-sh/setup-uv@v10.0.1 | |
| with: | |
| # Pinned: uv resolves the dev toolchain, and the same version must | |
| # prove a change here and publish it in release.yml. | |
| version: "0.12.5" | |
| python-version: ${{ matrix.python-version }} | |
| enable-cache: true | |
| - name: Check the lockfile is current | |
| run: make lock-check | |
| - name: Sync | |
| run: make sync | |
| - name: Lint | |
| run: make lint | |
| - name: Typecheck | |
| run: make typecheck | |
| - name: Unit and end-to-end tests | |
| run: make test | |
| - name: Install Chromium | |
| run: make browsers PLAYWRIGHT_ARGS=--with-deps | |
| - name: Browser tests | |
| run: make test-browser | |
| - name: Build the wheel and test against it | |
| run: make check-wheel | |
| # The oldest plotly, shiny and htmltools the package declares, on the oldest Python. | |
| floor: | |
| name: Oldest supported dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: astral-sh/setup-uv@v10.0.1 | |
| with: | |
| version: "0.12.5" | |
| python-version: "3.10" | |
| enable-cache: true | |
| - name: Install and test at the dependency floor | |
| run: make check-floor PLAYWRIGHT_ARGS=--with-deps | |
| # Single required status for branch protection. | |
| all-checks-passed: | |
| name: All checks passed | |
| needs: [checks, floor] | |
| if: always() | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Fail if any check failed | |
| if: needs.checks.result != 'success' || needs.floor.result != 'success' | |
| run: exit 1 | |
| - run: echo "All checks passed" |