Skip to content

Skip CI on non-build changes via paths-ignore#318

Merged
erikdarlingdata merged 1 commit intodevfrom
chore/ci-paths-ignore
May 9, 2026
Merged

Skip CI on non-build changes via paths-ignore#318
erikdarlingdata merged 1 commit intodevfrom
chore/ci-paths-ignore

Conversation

@erikdarlingdata
Copy link
Copy Markdown
Owner

Summary

PR-trigger paths-ignore on .github/workflows/ci.yml. The workflow runs as before whenever any changed file falls outside the ignore list; if every changed file matches the list, CI doesn't run.

Push to main is unaffected — that path keeps building unconditionally.

Ignored paths

Pattern Why
**.md Documentation
LICENSE, CITATION.cff, llms.txt Project metadata
.gitignore, .gitattributes Repo config
.github/ISSUE_TEMPLATE/** GitHub UI templates only
docs/**, screenshots/** Non-build assets
server/** PlanShare server, not in PlanViewer.sln
src/PlanViewer.Ssms/**, src/PlanViewer.Ssms.Installer/** Intentionally excluded from PlanViewer.sln (built by their own VS workflow, not CI)

Mirrors the path-filter pattern already used in deploy-web.yml. If branch protection requires build-and-test and a future PR touches only ignored paths, the merge UI may flag the absent check — if that bites, swap to the per-step dorny/paths-filter pattern from build.yml.

Test plan

  • This PR touches .github/workflows/ci.yml (not in ignore list) → CI should run
  • After merge, a PR touching only README.md should not trigger CI
  • After merge, a PR touching src/PlanViewer.Ssms/AppLauncher.cs (SSMS code) should not trigger CI
  • Verify branch protection still allows merging when CI is filtered out (vs. blocking on absent check)

🤖 Generated with Claude Code

PR-only filter (push to main keeps building unconditionally). Skips
the workflow when every changed file matches one of:
- Documentation: **.md, LICENSE, CITATION.cff, llms.txt
- Repo config: .gitignore, .gitattributes, .github/ISSUE_TEMPLATE/**
- Non-CI artifacts: docs/, screenshots/, server/
- Projects intentionally excluded from PlanViewer.sln:
    src/PlanViewer.Ssms/**
    src/PlanViewer.Ssms.Installer/**

If any changed file falls outside the ignore list, the workflow runs
as before. Mirrors the path filter pattern already in deploy-web.yml.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@erikdarlingdata erikdarlingdata merged commit c4a326f into dev May 9, 2026
2 checks passed
@erikdarlingdata erikdarlingdata deleted the chore/ci-paths-ignore branch May 9, 2026 16:57
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.

1 participant