Skip to content

docs(readme): name every container that defers a chart, and what does… #16

docs(readme): name every container that defers a chart, and what does…

docs(readme): name every container that defers a chart, and what does… #16

Workflow file for this run

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"