CI / changes (pull_request) Successful in 2s
CI / fast-checks (pull_request) Successful in 1m23s
CI / api (pull_request) Successful in 1m1s
CI / harness (pull_request) Successful in 3m51s
CI / security (pull_request) Successful in 39s
CI / gate (pull_request) Successful in 2s
66 lines
2.2 KiB
Markdown
66 lines
2.2 KiB
Markdown
---
|
|
phase: quick-260613-dmw
|
|
plan: "01"
|
|
subsystem: ci
|
|
tags: [ci, paths-filter, workflow]
|
|
dependency_graph:
|
|
requires: []
|
|
provides: [ci-gitea-exclusion]
|
|
affects: [.gitea/workflows/ci.yml]
|
|
tech_stack:
|
|
added: []
|
|
patterns: [dorny/paths-filter negation glob]
|
|
key_files:
|
|
created: []
|
|
modified:
|
|
- .gitea/workflows/ci.yml
|
|
decisions:
|
|
- "Negation placed as last entry of the code filter so it overrides all preceding yml/yaml positive globs"
|
|
metrics:
|
|
duration: "< 5 minutes"
|
|
completed: "2026-06-13"
|
|
tasks_completed: 1
|
|
tasks_total: 1
|
|
files_modified: 1
|
|
---
|
|
|
|
# Phase quick-260613-dmw Plan 01: Exclude .gitea/** from CI code paths-filter Summary
|
|
|
|
**One-liner:** Added `- '!.gitea/**'` as the final entry of the `dorny/paths-filter@v4` `code` filter so workflow-only PRs skip the MariaDB/integration/Playwright harness while fast-checks and gate still gate them.
|
|
|
|
## Tasks Completed
|
|
|
|
| Task | Name | Commit | Files |
|
|
|------|------|--------|-------|
|
|
| 1 | Exclude .gitea/** from the CI code paths-filter | 2d329a9 | `.gitea/workflows/ci.yml` |
|
|
|
|
## What Was Done
|
|
|
|
Single line added to the `changes` job's paths-filter `code` block in `.gitea/workflows/ci.yml`:
|
|
|
|
```yaml
|
|
- '!.gitea/**'
|
|
```
|
|
|
|
Placed after all positive globs (last entry), so:
|
|
- A PR touching **only** `.gitea/**` resolves `code=false` → `api` and `harness` skip → `gate` accepts via its success-or-skipped loop.
|
|
- A PR touching `.gitea/**` **plus** app code or lockfile resolves `code=true` → heavy jobs run as before.
|
|
- `fast-checks` (runs `format:check`, which validates the YAML) and `gate` are unchanged and always gate every PR.
|
|
- `security` (gitleaks) is unchanged and always runs.
|
|
|
|
## Verification Results
|
|
|
|
- YAML validity: `python3 -c 'import yaml; yaml.safe_load(...)'` → exit 0
|
|
- Negation ordering: `!.gitea/**` at index 11, last yml/yaml glob at index 5 → assertion passed
|
|
- Scope guard: `git diff --stat` shows exactly 1 file, 1 insertion, 0 deletions
|
|
- Formatting: `pnpm format:check` → "All matched files use Prettier code style!"
|
|
|
|
## Deviations from Plan
|
|
|
|
None — plan executed exactly as written.
|
|
|
|
## Self-Check: PASSED
|
|
|
|
- `.gitea/workflows/ci.yml` exists and contains `!.gitea/**`
|
|
- Commit `2d329a9` present in git log
|