Skip to content

fix(build): use correct output names for tj-actions/changed-files#1167

Merged
danieliser merged 1 commit into
developfrom
fix/ci-change-detection
Jan 23, 2026
Merged

fix(build): use correct output names for tj-actions/changed-files#1167
danieliser merged 1 commit into
developfrom
fix/ci-change-detection

Conversation

@danieliser

@danieliser danieliser commented Jan 23, 2026

Copy link
Copy Markdown
Member

Summary

Fixes CI change detection that was causing all gated jobs to skip.

The Bug

The detect-changes job uses files_yaml: to define multiple file categories. With this configuration, tj-actions/changed-files outputs are prefixed with the category name:

# ❌ WRONG - these outputs don't exist
steps.changes.outputs.php        # undefined!
steps.changes.outputs.js         # undefined!

# ✅ CORRECT - the actual output names
steps.changes.outputs.php_any_changed
steps.changes.outputs.js_any_changed

Why Individual Jobs Are Different

Individual jobs (like php-quality, js-quality) use files: (not files_yaml:), which outputs just any_changed without a prefix. Both patterns are valid - they just use different configurations.

Changes

  1. Fixed output names in detect-changes job
  2. Added documentation comments explaining both patterns

Test Plan

  • Verify CI runs properly on PRs with PHP changes
  • Verify CI runs properly on PRs with JS/CSS changes
  • Verify CI skips jobs when no relevant files changed

@coderabbitai

coderabbitai Bot commented Jan 23, 2026

Copy link
Copy Markdown

Walkthrough

The Detect Changes job in the GitHub Actions workflow has updated its output variable names. The changed-files step now exports php_any_changed, js_any_changed, css_any_changed, npm_deps_any_changed, and php_deps_any_changed instead of the previous php, js, css, npm_deps, and php_deps names. The detection logic is unchanged.

Changes

Cohort / File(s) Summary
Workflow Output Renaming
.github/workflows/ci.yml
Updated Detect Changes job outputs from short names (php, js, css, npm_deps, php_deps) to descriptive names with _any_changed suffix for clarity

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title directly and clearly describes the main fix: correcting output names for the tj-actions/changed-files action in the CI workflow, which matches the core change in the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

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

✨ Finishing touches
  • 📝 Generate docstrings

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.

The detect-changes job uses `files_yaml:` which outputs properties
prefixed with the category name (e.g., `php_any_changed`), not just
the category name (e.g., `php`).

Added documentation comments explaining the two tj-actions/changed-files
output patterns used in this workflow:

- `files_yaml:` → outputs are `{category}_any_changed`
- `files:` → outputs are `any_changed` (no prefix)

This was causing all gated jobs to skip because the outputs were
always undefined.
@danieliser danieliser force-pushed the fix/ci-change-detection branch from bc4192a to 98c0aa1 Compare January 23, 2026 20:44
@danieliser danieliser merged commit 7943950 into develop Jan 23, 2026
9 checks passed
@danieliser danieliser deleted the fix/ci-change-detection branch January 23, 2026 20:48
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