Skip to content

ci

ci #152

Workflow file for this run

name: ci
on:
push:
branches:
- main
pull_request:
schedule:
- cron: '0 2 * * *'
jobs:
hygiene:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Release hygiene audit
run: python scripts/release_hygiene_audit.py
python:
runs-on: ubuntu-latest
needs: hygiene
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install uv
run: python -m pip install uv
- name: Sync dependencies
run: python -m uv sync --group dev
- name: Ruff
run: python -m uv run ruff check .
- name: Mypy
run: python -m uv run mypy .
- name: Pytest
run: python -m uv run pytest
benchmark-freshness:
runs-on: ubuntu-latest
needs: python
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Check benchmark freshness gate
run: python scripts/benchmark_freshness_gate.py
typescript:
runs-on: ubuntu-latest
needs: hygiene
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '24'
- name: Install pnpm
run: npm install -g pnpm@10.6.5
- name: Install dependencies
run: pnpm install --no-frozen-lockfile
- name: Lint
run: pnpm lint
- name: Typecheck
run: pnpm typecheck
- name: Test
run: pnpm test
- name: Build
run: pnpm build
extension-e2e:
runs-on: ubuntu-latest
needs: typescript
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '24'
- name: Install pnpm
run: npm install -g pnpm@10.6.5
- name: Install dependencies
run: pnpm install --no-frozen-lockfile
- name: Install Playwright browser
run: pnpm exec playwright install --with-deps chromium
- name: Run extension fixture E2E
run: pnpm test:e2e
runtime-smoke:
runs-on: ubuntu-latest
needs: python
env:
PYTHONPATH: apps/api/src:apps/trainer/src:libs/shared-schemas/python:libs/feature-extractors/src:libs/data-pipeline/src:libs/dataset-governance/src:libs/policy-engine/python:libs/explanation-engine/python:libs/evaluation/src:libs/model-serving/python
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install uv
run: python -m pip install uv
- name: Sync dependencies
run: python -m uv sync --group dev
- name: Run runtime smoke
run: python -m uv run python scripts/run_truthlens_module.py truthlens_trainer.smoke
nightly-eval:
if: github.event_name == 'schedule'
runs-on: ubuntu-latest
env:
PYTHONPATH: apps/api/src:apps/trainer/src:libs/shared-schemas/python:libs/data-pipeline/src:libs/dataset-governance/src:libs/policy-engine/python:libs/explanation-engine/python:libs/evaluation/src:libs/model-serving/python
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install uv
run: python -m pip install uv
- name: Sync dependencies
run: python -m uv sync --group dev
- name: Refresh dataset build
run: python -m uv run python scripts/run_truthlens_module.py truthlens_trainer.pipeline
- name: Refresh models
run: python -m uv run python scripts/run_truthlens_module.py truthlens_trainer.train
- name: Refresh simulation and drift
run: python -m uv run python scripts/run_truthlens_module.py truthlens_trainer.simulate