Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7

- name: Install uv
uses: astral-sh/setup-uv@v4
uses: astral-sh/setup-uv@v7
with:
python-version: "3.14t"

- name: Cache uv dependencies
uses: actions/cache@v4
uses: actions/cache@v6
with:
path: ~/.cache/uv
key: uv-${{ runner.os }}-${{ hashFiles('uv.lock') }}
Expand All @@ -48,7 +48,7 @@ jobs:
PYTHON_GIL: "0"

- name: Cache Bengal build state
uses: actions/cache@v4
uses: actions/cache@v6
with:
path: site/.bengal
key: bengal-${{ runner.os }}-${{ steps.cache.outputs.hash }}
Expand All @@ -66,7 +66,7 @@ jobs:
echo "" > site/public/.gitignore

- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v3
uses: actions/upload-pages-artifact@v5
with:
path: site/public

Expand All @@ -78,5 +78,5 @@ jobs:
runs-on: ubuntu-latest
steps:
- id: deployment
uses: actions/deploy-pages@v4
uses: actions/deploy-pages@v5

8 changes: 4 additions & 4 deletions .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7

- uses: actions/setup-python@v5
- uses: actions/setup-python@v6
with:
python-version: "3.14t"

Expand All @@ -32,7 +32,7 @@ jobs:
python -m build

- name: Upload distributions
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: release-dists
path: dist/
Expand All @@ -50,7 +50,7 @@ jobs:

steps:
- name: Retrieve release distributions
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: release-dists
path: dist/
Expand Down
81 changes: 63 additions & 18 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,15 @@ jobs:
python-version: ["3.14t"]

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7

- name: Install uv
uses: astral-sh/setup-uv@v4
uses: astral-sh/setup-uv@v7
with:
python-version: ${{ matrix.python-version }}

- name: Cache uv dependencies
uses: actions/cache@v4
uses: actions/cache@v6
with:
path: ~/.cache/uv
key: uv-${{ runner.os }}-${{ hashFiles('uv.lock') }}
Expand Down Expand Up @@ -58,15 +58,15 @@ jobs:
typecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7

- name: Install uv
uses: astral-sh/setup-uv@v4
uses: astral-sh/setup-uv@v7
with:
python-version: "3.14t"

- name: Cache uv dependencies
uses: actions/cache@v4
uses: actions/cache@v6
with:
path: ~/.cache/uv
key: uv-${{ runner.os }}-${{ hashFiles('uv.lock') }}
Expand All @@ -83,15 +83,15 @@ jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7

- name: Install uv
uses: astral-sh/setup-uv@v4
uses: astral-sh/setup-uv@v7
with:
python-version: "3.14t"

- name: Cache uv dependencies
uses: actions/cache@v4
uses: actions/cache@v6
with:
path: ~/.cache/uv
key: uv-${{ runner.os }}-${{ hashFiles('uv.lock') }}
Expand All @@ -113,15 +113,15 @@ jobs:
fixtures:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7

- name: Install uv
uses: astral-sh/setup-uv@v4
uses: astral-sh/setup-uv@v7
with:
python-version: "3.14t"

- name: Cache uv dependencies
uses: actions/cache@v4
uses: actions/cache@v6
with:
path: ~/.cache/uv
key: uv-${{ runner.os }}-${{ hashFiles('uv.lock') }}
Expand Down Expand Up @@ -195,19 +195,64 @@ jobs:
fi
done

# Benchmarks (non-gating: informational only, no baseline comparison yet)
benchmarks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7

- name: Install uv
uses: astral-sh/setup-uv@v7
with:
python-version: "3.14t"

- name: Cache uv dependencies
uses: actions/cache@v6
with:
path: ~/.cache/uv
key: uv-${{ runner.os }}-${{ hashFiles('uv.lock') }}
restore-keys: |
uv-${{ runner.os }}-

- name: Install dependencies
run: |
uv sync --group dev
uv pip install pytest-benchmark pygments

- name: Run benchmarks
env:
CI: true
PYTHON_GIL: "0"
run: |
uv run --no-sync pytest benchmarks/benchmark_vs_pygments.py --benchmark-only \
--benchmark-json=benchmark-results.json --tb=short

- name: Run parallel scaling benchmark
env:
CI: true
PYTHON_GIL: "0"
run: |
uv run --no-sync python benchmarks/benchmark_parallel.py

- name: Upload benchmark results
uses: actions/upload-artifact@v7
with:
name: benchmark-results
path: benchmark-results.json

# Security tests (ReDoS resistance)
security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7

- name: Install uv
uses: astral-sh/setup-uv@v4
uses: astral-sh/setup-uv@v7
with:
python-version: "3.14t"

- name: Cache uv dependencies
uses: actions/cache@v4
uses: actions/cache@v6
with:
path: ~/.cache/uv
key: uv-${{ runner.os }}-${{ hashFiles('uv.lock') }}
Expand All @@ -228,15 +273,15 @@ jobs:
thread-safety:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7

- name: Install uv
uses: astral-sh/setup-uv@v4
uses: astral-sh/setup-uv@v7
with:
python-version: "3.14t"

- name: Cache uv dependencies
uses: actions/cache@v4
uses: actions/cache@v6
with:
path: ~/.cache/uv
key: uv-${{ runner.os }}-${{ hashFiles('uv.lock') }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/ty.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@ jobs:
type-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7

- name: Install uv
uses: astral-sh/setup-uv@v4
uses: astral-sh/setup-uv@v7
with:
python-version: "3.14t"

- name: Cache uv dependencies
uses: actions/cache@v4
uses: actions/cache@v6
with:
path: ~/.cache/uv
key: uv-${{ runner.os }}-${{ hashFiles('uv.lock') }}
Expand Down
3 changes: 3 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,9 @@ markers = [
"property: property-based tests (may take longer)",
]

[tool.coverage.report]
fail_under = 79 # honest ratchet toward 80 — measured 79.30% on 2026-07-08

[tool.ty.environment]
python-version = "3.14"

Expand Down
Loading