Skip to content

Add Cloudflare analytics beacon #63

Add Cloudflare analytics beacon

Add Cloudflare analytics beacon #63

name: Continuous deployment
on:
push:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint-python:
name: Lint Python code
runs-on: ubuntu-latest
steps:
- id: checkout
name: Checkout
uses: actions/checkout@v6
- id: check-ruff
name: Check with Ruff
uses: astral-sh/ruff-action@v3
with:
args: "check --exit-zero --verbose"
- id: format-ruff
name: Format with Ruff
uses: astral-sh/ruff-action@v3
with:
args: "format --check --verbose"
type-check:
name: Verify static typing
runs-on: ubuntu-latest
steps:
- id: checkout
name: Checkout
uses: actions/checkout@v6
- name: Setup uv
uses: astral-sh/setup-uv@v7
with:
version: "latest"
enable-cache: true
cache-dependency-glob: "**/pyproject.toml"
- id: install-python-dependencies
name: Install Python dependencies
run: uv sync --extra dev --frozen
- id: type-check
name: Run type check
timeout-minutes: 10
run: uv run ty check
vulture:
name: Detect dead code
runs-on: ubuntu-latest
steps:
- id: checkout
name: Checkout
uses: actions/checkout@v6
- name: Setup uv
uses: astral-sh/setup-uv@v7
with:
version: "latest"
enable-cache: true
cache-dependency-glob: "**/pyproject.toml"
- id: install-python-dependencies
name: Install Python dependencies
run: uv sync --extra dev --frozen
# - id: vulture
# name: Run vulture
# timeout-minutes: 10
# run: >-
# uv run vulture
# --min-confidence 90
# --exclude "tests/*,docs/*"
# your_package_name
test-python:
name: Test Python code
runs-on: ubuntu-latest
strategy:
matrix:
python: ["3.11", "3.12", "3.13", "3.14"]
steps:
- name: Checkout
uses: actions/checkout@v6
- id: install-uv
name: Install uv
uses: astral-sh/setup-uv@v7
with:
version: "latest"
enable-cache: true
cache-dependency-glob: "**/pyproject.toml"
- id: install-python
name: Install Python
run: uv python install ${{ matrix.python }}
- id: install-python-dependencies
name: Install Python dependencies
run: uv sync --extra test --python ${{ matrix.python }}
- id: tests
name: Run tests
run: uv run --python ${{ matrix.python }} pytest --cov -sv