-
-
Notifications
You must be signed in to change notification settings - Fork 62
Open
Description
Release v1.19.0 Discussion
Overview
We have 3 PRs ready to merge that will constitute our v1.19.0 release. This issue discusses the merge strategy, regression risks, and testing requirements.
π PRs Ready to Merge
- PR Add cypress-rails compatible rake tasks and server lifecycle hooksΒ #179: Add cypress-rails compatible rake tasks and server lifecycle hooks β CI Passing
- PR Add comprehensive documentation to improve developer experienceΒ #180: Add comprehensive documentation to improve developer experience β CI Passing
- PR Add automated release rake tasksΒ #182: Prepare for v1.19.0 release β CI Passing
π Important Discovery: PR Dependencies
PR #180 includes all changes from PR #179! This means we have two merge options:
Option 1: Merge Only PR #180 (Recommended β )
PR #180 (includes #179 changes) β PR #182 (version bump) β Tag v1.19.0
Pros: Simpler, one less merge, already tested together
Cons: PR #179 would be closed without merging
Option 2: Merge Both PRs Sequentially
PR #179 β PR #180 (may need rebase) β PR #182 β Tag v1.19.0
Pros: Clean git history, both PRs get merged
Cons: Extra work, potential rebase needed
π Version Bump Rationale
1.18.0 β 1.19.0 (Minor Version) is appropriate because:
- β Adds new features (rake tasks, server hooks, documentation)
- β Maintains backwards compatibility
- β No breaking changes
- β Follows semantic versioning
π― Regression Risk Assessment: LOW-MEDIUM
Why Risk is Low
- Purely Additive: 453 new lines of code, 0 deletions
- CI Validated: Passing on Rails 6.1, 7.2, and 8.0
- Optional Features: New features only activate when explicitly used
- Backwards Compatible: Existing functionality untouched
Potential Risk Areas
Component | Risk Level | Impact | Mitigation |
---|---|---|---|
Existing functionality | Very Low | High | No changes to existing code |
New rake tasks | Low | Medium | Isolated new code |
Middleware addition | Low-Medium | Low | Only responds to specific endpoints |
Configuration defaults | Low | Low | Safe defaults, nil for hooks |
π§ͺ Testing Recommendations
5-Minute Smoke Test (Recommended)
# 1. Test backwards compatibility (old way still works)
CYPRESS=1 bin/rails server -p 5017 &
yarn cypress run --project ./e2e
kill %1
# 2. Test new functionality (rake tasks)
bin/rails cypress:run
# If both work, ship it! β
Extended Testing (Optional)
Only if team wants extra confidence:
- Test server hooks trigger
- Test state reset endpoint
- Test with different Rails versions locally
- Test Playwright rake tasks
π¦ Release Process After Merge
- Tag Release:
git tag -a v1.19.0 -m "Release version 1.19.0"
- Push Tag:
git push origin v1.19.0
- Build Gem:
gem build cypress-on-rails.gemspec
- Publish:
gem push cypress-on-rails-1.19.0.gem
- GitHub Release: Create with release notes
- Close Issues: No route matches [POST] "/api/__e2e__/vcr/insert"Β #175, Load fixtures in PlaywrightΒ #169, VCR with use_cassetteΒ #160, Run cypress in test environment and still get changes picked up?Β #157, ApplicationRecord Load getting Mysql ErrorΒ #155, Automatically start the rails server Β #152, Add initialization hooksΒ #153, Webpack Compilation ErrorΒ #146, Authenticate CypressOnRails commandsΒ #137, Question: any plans to support parallel testing?Β #119, RAILS_ENV=test yarn run cypress run opens cypressΒ #118, Use Rails' transactional fixtures instead of database cleanerΒ #114
π’ Team Decision Needed
Questions for Discussion:
- Merge Strategy: Option 1 (just Add comprehensive documentation to improve developer experienceΒ #180) or Option 2 (both Add cypress-rails compatible rake tasks and server lifecycle hooksΒ #179 and Add comprehensive documentation to improve developer experienceΒ #180)?
- Testing Level: 5-minute smoke test sufficient or want extended testing?
- Release Timing: Merge and release now or wait?
- Release Manager: Who will handle the gem publication?
π Impact of This Release
This release will:
- Provide cypress-rails compatibility making migration easy
- Add 2000+ lines of documentation addressing all major pain points
- Solve 11+ open issues with comprehensive guides
- Make cypress-playwright-on-rails a complete replacement for cypress-rails
π― My Recommendation
- Merge only PR Add comprehensive documentation to improve developer experienceΒ #180 (simpler, includes everything)
- Do 5-minute smoke test (sufficient given low risk)
- Release immediately (users waiting for these fixes)
- Be ready for 1.19.1 if any edge cases appear
The benefits of getting these improvements to users outweigh the minimal regression risk. The changes are additive, CI is green, and we can quickly patch if needed.
π Next Steps
Please discuss and decide on:
- Merge strategy choice
- Testing requirements
- Release timing
- Release manager assignment
cc @justin808
Metadata
Metadata
Assignees
Labels
No labels