--- 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