Skip to content

ci: optimize workflow with concurrency and paths filter - #63

Merged
paveg merged 1 commit into
mainfrom
ci/optimize-workflow-with-paths-filter
Jan 17, 2026
Merged

paveg merged 1 commit into
mainfrom
ci/optimize-workflow-with-paths-filter

Conversation

@paveg

@paveg paveg commented Jan 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add concurrency setting to cancel outdated runs on force-push or rapid commits
  • Add dorny/paths-filter to detect changed file categories
  • Skip jobs when their related files are unchanged (e.g., skip neovim job if only devbox.json changed)
  • Always run all jobs when workflow files themselves change

Expected CI Minutes Reduction

Change Type Jobs Executed
README only changes only (all others skipped)
nvim config only changes + format + lint + neovim
devbox.json only changes + format + devbox
zsh config only changes + format + lint + chezmoi

Test plan

  • Verify YAML syntax is valid
  • Verify CI runs successfully on this PR (all jobs should run since workflow file changed)
  • Future PRs touching only specific files should skip unrelated jobs

🤖 Generated with Claude Code

Reduce CI minutes by skipping unnecessary jobs when unrelated files change.
Uses dorny/paths-filter to detect changes and conditionally run jobs.

- Add concurrency to cancel outdated runs on force-push
- Add changes job to detect modified file categories
- Skip format/lint/chezmoi/devbox/neovim jobs when their files unchanged
- Always run all jobs when workflow files change

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@paveg
paveg merged commit d40c7c2 into main Jan 17, 2026
9 checks passed
@paveg
paveg deleted the ci/optimize-workflow-with-paths-filter branch January 17, 2026 03:53
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