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
Move React/Shakapacker version compatibility to generator smoke tests (#2125)
## Summary
This PR moves React and Shakapacker version compatibility testing from
spec/dummy to the generator smoke tests, as suggested in [PR
#2114](#2114) review.
Key changes:
- Update spec/dummy to always use latest React 19 and Shakapacker 9.4.0
- Add minimum version example apps (`basic-minimum`,
`basic-server-rendering-minimum`) that test React 18.0.0 and Shakapacker
8.2.0
- Simplify `script/convert` to only handle Node.js tooling compatibility
(removed React/Shakapacker version modifications)
- Update CI workflows to run appropriate examples per dependency level:
- **Latest CI**: runs `run_rspec:shakapacker_examples_latest` (basic,
redux, etc.)
- **Minimum CI**: runs `run_rspec:shakapacker_examples_minimum`
(basic-minimum, etc.)
## Benefits
- **Clearer separation**: spec/dummy tests latest versions, generators
test compatibility matrix
- **Simpler CI configuration**: spec/dummy integration tests no longer
need version conversions
- **Better reflects real-world usage**: users running the generators get
their compatibility tested
## Test plan
- [x] Verify rake tasks are created correctly for new example types
- [x] Verify `run_rspec:shakapacker_examples_latest` includes only
non-minimum examples
- [x] Verify `run_rspec:shakapacker_examples_minimum` includes only
minimum examples
- [x] RuboCop passes
- [ ] CI runs generator tests with correct examples per dependency level
## Manual Testing Checklist
Before merging, verify the following locally:
```bash
# Verify TypeScript and linting
pnpm run type-check
pnpm run lint
pnpm run build
# Run react-on-rails package tests
cd packages/react-on-rails && pnpm run test
# Verify rake tasks exist and match expectations
cd react_on_rails && bundle exec rake -T | grep shakapacker_examples
# Test latest examples (if CI is running latest config)
bundle exec rake run_rspec:shakapacker_examples_latest
# Test minimum examples (if CI is running minimum config)
bundle exec rake run_rspec:shakapacker_examples_pinned
```
Closes#2123
🤖 Generated with [Claude Code](https://claude.com/claude-code)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
- CI now runs separate conditional example suites for latest and
pinned/minimum setups.
* **Tests**
- Added targeted test tasks for React 16/17/18/19 and pinned groups;
pinned suites run isolated installs and conversion steps.
- Test adjusted to expect failure output on STDERR.
* **Dependencies**
- Upgraded React/React‑DOM and related types to v19; added RSC support
package.
* **Chores**
- Helmet switched to provider-based usage; removed deprecated
chromedriver-helper; improved example generation to support pinned
React/Shakapacker versions.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Claude <[email protected]>
0 commit comments