You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor(ci): use cargo tree for conformance job detection (#14269)
## Summary
- Replace `dorny/paths-filter` with `cargo tree`-based detection for more accurate dependency tracking in the conformance CI job
- Extract common file detection and utility functions into reusable modules
- Eliminate code duplication across CI scripts
## Changes
### New Files
- **`.github/scripts/get-changed-files.js`** - Reusable module for detecting changed files from GitHub events (PR/push)
- **`.github/scripts/check-conformance-changes.js`** - Conformance detection using `cargo tree -p oxc_coverage -p oxc_transform_conformance -p oxc_prettier_conformance`
- **`.github/scripts/utils.js`** - Shared utilities:
- `exec()` - Shell command execution with error handling
- `getCrateDependencies()` - Generic cargo tree wrapper
- `checkFilesAffectCrates()` - File-to-crate impact checking
### Modified Files
- **`.github/scripts/generate-benchmark-matrix.js`** - Refactored to use shared modules
- **`.github/workflows/ci.yml`** - Conformance job now uses `check-conformance-changes.js` instead of `dorny/paths-filter`
## Benefits
- **More accurate**: Uses actual crate dependencies from `cargo tree` instead of static path patterns
- **Maintainable**: Shared utilities eliminate code duplication
- **Extensible**: Easy to add new scripts that need similar functionality
- **Consistent**: Same file detection logic across all CI scripts
## Test Plan
- [x] Verify CI workflow syntax is valid
- [ ] Monitor first PR run to ensure conformance detection works correctly
- [ ] Check that conformance is skipped when appropriate (e.g., linter-only changes)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
0 commit comments