* udpated matrix * feat(site): add landing page + Starlight docs site Astro + Starlight site in site/ — a flat/paper editorial landing page plus 18 docs pages seeded from the README. Monochrome theme, hairline rules, square corners, live GitHub star count, light default + dark toggle. Deploys to GitHub Pages via .github/workflows/deploy-site.yml. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
33 lines
1.0 KiB
Markdown
33 lines
1.0 KiB
Markdown
---
|
|
title: Affected Tests in CI
|
|
description: Run only the tests a change actually touches.
|
|
---
|
|
|
|
`codegraph affected` traces import dependencies transitively to find which test files are affected by a set of changed source files — so CI can run only the relevant tests.
|
|
|
|
```bash
|
|
codegraph affected src/utils.ts src/api.ts # pass files as arguments
|
|
git diff --name-only | codegraph affected --stdin # pipe from git diff
|
|
codegraph affected src/auth.ts --filter "e2e/*" # custom test-file pattern
|
|
```
|
|
|
|
## Options
|
|
|
|
| Option | Description | Default |
|
|
|---|---|---|
|
|
| `--stdin` | Read the file list from stdin | `false` |
|
|
| `-d, --depth <n>` | Max dependency traversal depth | `5` |
|
|
| `-f, --filter <glob>` | Custom glob to identify test files | auto-detect |
|
|
| `-j, --json` | Output as JSON | `false` |
|
|
| `-q, --quiet` | Output file paths only | `false` |
|
|
|
|
## CI / hook example
|
|
|
|
```bash
|
|
#!/usr/bin/env bash
|
|
AFFECTED=$(git diff --name-only HEAD | codegraph affected --stdin --quiet)
|
|
if [ -n "$AFFECTED" ]; then
|
|
npx vitest run $AFFECTED
|
|
fi
|
|
```
|