Skip to content

ci: skip CI on more non-code path changes#128

Merged
jackmusick merged 1 commit intomainfrom
chore/ci-skip-non-code-changes
Apr 27, 2026
Merged

ci: skip CI on more non-code path changes#128
jackmusick merged 1 commit intomainfrom
chore/ci-skip-non-code-changes

Conversation

@jackmusick
Copy link
Copy Markdown
Owner

Summary

Extends the existing `paths-ignore` / `ci-noop.yml` pattern with conservative additions: image assets, plain text, IDE config files. No per-job conditional skipping (deferred — too risky for a one-shot).

What's added

To both `ci.yml` (paths-ignore) and `ci-noop.yml` (paths) — they MUST stay in sync for branch protection:

  • `**/*.txt`
  • `/*.png`, `/.jpg`, `**/.jpeg`, `/*.gif`, `/.svg`, `**/.webp`, `**/*.ico`
  • `.gitignore`, `.gitattributes`, `.editorconfig`
  • `.prettierrc*`, `.prettierignore`
  • `.vscode/`, `.idea/`

Comment blocks updated in both files to call out what's deliberately NOT in scope (`/*.yml`, `/.yaml`, `**/.json`, `/*.toml`, `.github/workflows/` — all could affect runtime).

Test plan

  • YAML parse cleanly (`python -c "import yaml; yaml.safe_load(...)"` for both files)
  • Two lists are byte-identical
  • Verified by future PRs that touch only image/IDE config skip CI as expected

Closes #39.

🤖 Generated with Claude Code

Extend the existing paths-ignore in ci.yml (and the matching paths in the
ci-noop.yml branch-protection bypass) to cover additional file types that
never affect runtime or tests. ci.yml's paths-ignore and ci-noop.yml's
paths must stay byte-identical so branch protection always sees the
required check names reported.

Added (to both files):

- **/*.txt — plain text files, no code
- **/*.png, **/*.jpg, **/*.jpeg, **/*.gif, **/*.svg, **/*.webp, **/*.ico
  — image assets, never affect tests
- .gitignore, .gitattributes — VCS tooling, no runtime effect
- .editorconfig — editor hint, no runtime effect
- .prettierrc*, .prettierignore — formatting only, no runtime effect
- .vscode/**, .idea/** — IDE configuration

Intentionally NOT added:

- **/*.yml, **/*.yaml — covers docker-compose / CI config, must run CI
- **/*.json — covers package-lock, tsconfig, must run CI
- **/*.toml — covers pyproject.toml, must run CI
- .github/workflows/** — workflow edits MUST run CI (preserves the
  existing comment in ci.yml)

No per-job conditional skipping — that's a bigger change with real risk
and out of scope for this conservative pass.

Closes #39

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@jackmusick jackmusick enabled auto-merge (squash) April 27, 2026 01:31
@jackmusick jackmusick merged commit 6181241 into main Apr 27, 2026
14 checks passed
@jackmusick jackmusick deleted the chore/ci-skip-non-code-changes branch April 27, 2026 01:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[chore]: skip CI on non-code changes (path filters)

1 participant