Skip to content

Conversation

@TabishB
Copy link
Contributor

@TabishB TabishB commented Jan 19, 2026

Summary

  • Skip Nix flake validation when no Nix-related files change
  • Uses dorny/paths-filter@v3 to detect changes to relevant files
  • Updates required-checks jobs to handle skipped status correctly

Files that trigger Nix validation

  • flake.nix, flake.lock
  • package.json, pnpm-lock.yaml
  • scripts/update-flake.sh
  • .github/workflows/ci.yml

Testing

This PR changes ci.yml, so the Nix validation will run on this PR (as expected).

After merge, verify by creating a docs-only PR - the nix-flake-validate job should show as "Skipped" in the Actions UI.

🤖 Generated with Claude Code

Summary by CodeRabbit

Chores

  • Enhanced CI/CD pipeline efficiency by introducing conditional job execution that runs validation checks only when relevant changes are detected.
  • Improved workflow state handling to gracefully process skipped validation results without causing failures.

✏️ Tip: You can customize this high-level summary in your review settings.

Skip Nix flake validation when no Nix-related files change. This speeds
up CI for PRs that only touch source code, docs, or tests.

Files that trigger Nix validation:
- flake.nix, flake.lock
- package.json, pnpm-lock.yaml
- scripts/update-flake.sh
- .github/workflows/ci.yml

Uses dorny/paths-filter@v3 for change detection. Required-checks jobs
updated to handle skipped status correctly.
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 19, 2026

📝 Walkthrough

Walkthrough

A new changes job is introduced to detect Nix-related file modifications and output a boolean flag. The nix-flake-validate job is updated to depend on this detection job and executes conditionally. Skipped validation results are now handled gracefully as non-fatal across both individual and aggregate checks.

Changes

Cohort / File(s) Summary
CI Workflow Configuration
.github/workflows/ci.yml
Added changes job for Nix file change detection. Updated nix-flake-validate to depend on changes job with conditional execution. Added skip-state handling in nix-flake-validate and aggregate check jobs (required-checks-pr, required-checks-main) to treat skipped validation as non-fatal and log appropriately.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 A clever job that watches files,
Changes hop where Nix beguiles,
Skip with grace, no need to fail,
Smart workflows tell the proper tale! 🌿

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: adding path filtering to the Nix validation CI job to improve performance by skipping unnecessary validation runs.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@vibe-kanban-cloud
Copy link

Review Complete

Your review story is ready!

View Story

Comment !reviewfast on this PR to re-generate the story.

@TabishB TabishB enabled auto-merge (squash) January 19, 2026 09:12
@TabishB TabishB disabled auto-merge January 19, 2026 09:22
@TabishB TabishB merged commit dbd4ed7 into main Jan 19, 2026
9 checks passed
@TabishB TabishB deleted the ci/nix-path-filtering branch January 19, 2026 09:22
StrayDragon pushed a commit to StrayDragon/OpenSpec that referenced this pull request Jan 20, 2026
Skip Nix flake validation when no Nix-related files change. This speeds
up CI for PRs that only touch source code, docs, or tests.

Files that trigger Nix validation:
- flake.nix, flake.lock
- package.json, pnpm-lock.yaml
- scripts/update-flake.sh
- .github/workflows/ci.yml

Uses dorny/paths-filter@v3 for change detection. Required-checks jobs
updated to handle skipped status correctly.
harikrishnan83 added a commit to intent-driven-dev/OpenSpec that referenced this pull request Jan 21, 2026
# By Tabish Bidiwale (57) and others
# Via GitHub
* main: (67 commits)
  fix(ci): use workflow_dispatch for polish release notes (Fission-AI#533)
  fix(changelog): convert markdown headers to bold text for proper formatting (Fission-AI#532)
  Version Packages (Fission-AI#531)
  Add changeset for project config and schema commands (Fission-AI#530)
  fix(config): handle null rules field in project config (Fission-AI#529)
  docs: update workflow docs and mark schema commands as experimental (Fission-AI#526)
  feat(cli): add schema management commands (Fission-AI#525)
  fix: Windows path compatibility in resolver tests (Fission-AI#524)
  change(schema-management-cli): proposal for schema management commands (Fission-AI#523)
  feat(resolver): add project-local schema support (Fission-AI#522)
  docs: add project-config demo guide (Fission-AI#521)
  feat(config): add project-level configuration via openspec/config.yaml (Fission-AI#499)
  fix: auto-trigger polish release notes on release publish (Fission-AI#519)
  perf: add path filtering to Nix validation CI job (Fission-AI#518)
  Version Packages (Fission-AI#517)
  Add changeset for v0.21 release (Fission-AI#516)
  fix: prevent implementation during explore mode (Fission-AI#515)
  OPSX apply: infer target change (Fission-AI#513)
  Refine opsx archive sync assessment (Fission-AI#514)
  feat: add nix flake support (sorry for this duplicate) (Fission-AI#459)
  ...

# Conflicts:
#	src/core/templates/slash-command-templates.ts
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.

2 participants