ci: split Woodpecker pipelines by scope
- unit.yml: unit tests on every push and pull_request, all branches. - code-runner.yml: PR to dev/main, gated on src/wrenn/code_runner/** or tests/test_code_runner_*.py; runs `make test-code-runner`. - integration.yml: PR to dev/main, gated on src/** excluding src/wrenn/code_runner/**; runs `make test-integration`. E2E pipelines require a src/** change, so docs/test-only PRs only trigger the unit pipeline. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
18
.woodpecker/code-runner.yml
Normal file
18
.woodpecker/code-runner.yml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# E2E — code_runner. PR to dev/main when code_runner sources/tests change.
|
||||||
|
when:
|
||||||
|
- event: pull_request
|
||||||
|
branch: [main, dev]
|
||||||
|
path:
|
||||||
|
include:
|
||||||
|
- "src/wrenn/code_runner/**"
|
||||||
|
- "tests/test_code_runner_*.py"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
test-code-runner:
|
||||||
|
image: ghcr.io/astral-sh/uv:python3.13-bookworm
|
||||||
|
environment:
|
||||||
|
WRENN_API_KEY:
|
||||||
|
from_secret: WRENN_API_KEY
|
||||||
|
commands:
|
||||||
|
- uv sync --dev
|
||||||
|
- make test-code-runner
|
||||||
21
.woodpecker/integration.yml
Normal file
21
.woodpecker/integration.yml
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# E2E — integration. PR to dev/main when non-code_runner src changes.
|
||||||
|
# Path filter: include src/** but exclude src/wrenn/code_runner/** so the
|
||||||
|
# dedicated code-runner pipeline owns that surface.
|
||||||
|
when:
|
||||||
|
- event: pull_request
|
||||||
|
branch: [main, dev]
|
||||||
|
path:
|
||||||
|
include:
|
||||||
|
- "src/**"
|
||||||
|
exclude:
|
||||||
|
- "src/wrenn/code_runner/**"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
test-integration:
|
||||||
|
image: ghcr.io/astral-sh/uv:python3.13-bookworm
|
||||||
|
environment:
|
||||||
|
WRENN_API_KEY:
|
||||||
|
from_secret: WRENN_API_KEY
|
||||||
|
commands:
|
||||||
|
- uv sync --dev
|
||||||
|
- make test-integration
|
||||||
11
.woodpecker/unit.yml
Normal file
11
.woodpecker/unit.yml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# Unit tests — every push and pull_request, all branches.
|
||||||
|
when:
|
||||||
|
- event: push
|
||||||
|
- event: pull_request
|
||||||
|
|
||||||
|
steps:
|
||||||
|
unit-tests:
|
||||||
|
image: ghcr.io/astral-sh/uv:python3.13-bookworm
|
||||||
|
commands:
|
||||||
|
- uv sync --dev
|
||||||
|
- uv run pytest -m "not integration" -v
|
||||||
Reference in New Issue
Block a user