mirror of
https://github.com/oxc-project/oxc.git
synced 2026-09-14 19:36:11 +08:00
2af70844d4
## Summary - Replace `dorny/paths-filter` in 6 CI jobs with a unified `check-changes.js` script that uses `cargo tree` to resolve transitive dependencies, fixing silent CI skips when upstream crates change - Add a reusable `check-changes` composite action to eliminate boilerplate across jobs - Add change detection to Miri workflow to skip expensive steps when unrelated code changes ### Key improvements over old `dorny/paths-filter` - **Transitive dependency tracking**: uses `cargo tree` so e.g. `oxc_parser` changes correctly trigger minification checks - **Task crate resolution**: uses actual task crates (`oxc_minsize`, `oxc_track_memory_allocations`) instead of library crates, catching dev-dependencies like `oxc_codegen` that `cargo tree -e normal` on `oxc_minifier` alone would miss - **Self-validation**: `.github/workflows/ci.yml` and `.github/workflows/miri.yml` are included in trigger paths so workflow edits exercise the affected jobs ### Modes **Include mode** (`--packages`): resolves transitive deps via `cargo tree`, runs if changes affect any dep crate or additional paths. **Exclude mode** (`--exclude`): skips only if ALL changed files are in excluded crate directories (intentionally shallow — no `cargo tree`). ### Jobs updated `test-wasm32-wasip1-threads`, `test-napi`, `test-napi-windows`, `minification`, `allocs`, `lintgen`, `miri` ### Jobs intentionally unchanged `conformance` (already uses `cargo tree`), `benchmark` (already uses `cargo tree`), `ast_changes` (uses auto-generated watch list), `test-ubuntu` (primary gate, runs everything), `typos`/`lint` (always run) 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>