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
Update CONTRIBUTING.md files with CI optimization documentation
Add comprehensive CI testing section to both main and Pro CONTRIBUTING.md files:
- Document new CI behavior (reduced matrix on PRs, full on master)
- Add bin/ci-local usage examples and best practices
- Add script/ci-changes-detector documentation
- Add /run-ci Claude Code command reference
- Include CI optimization table showing time savings
- Reference docs/CI_OPTIMIZATION.md for details
Addresses review comment #3488599517
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+99Lines changed: 99 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -322,6 +322,105 @@ Run `rake -T` or `rake -D` to see testing options.
322
322
323
323
See below for verifying changes to the generators.
324
324
325
+
## CI Testing and Optimization
326
+
327
+
React on Rails uses an optimized CI pipeline that runs faster on branches while maintaining full coverage on `master`. Contributors have access to local CI tools to validate changes before pushing.
328
+
329
+
### CI Behavior
330
+
331
+
-**On PRs/Branches**: Runs reduced test matrix (latest Ruby/Node versions only) for faster feedback (~12 min vs ~45 min)
332
+
-**On Master**: Runs full test matrix (all Ruby/Node/dependency combinations) for complete coverage
333
+
-**Docs-only changes**: CI skips entirely when only `.md` files or `docs/` directory change
334
+
335
+
### Local CI Tools
336
+
337
+
#### `bin/ci-local` - Smart Local CI Runner
338
+
339
+
Analyzes your changes and runs appropriate tests locally before pushing:
340
+
341
+
```bash
342
+
# Auto-detect what to test based on changed files
343
+
bin/ci-local
344
+
345
+
# Run all CI checks (same as master branch)
346
+
bin/ci-local --all
347
+
348
+
# Quick check - only fast tests, skip slow integration tests
349
+
bin/ci-local --fast
350
+
351
+
# Compare against a different branch
352
+
bin/ci-local origin/develop
353
+
```
354
+
355
+
**Benefits:**
356
+
357
+
- Catches CI failures before pushing
358
+
- Skips irrelevant tests (e.g., Ruby tests when only JS changed)
0 commit comments