-
Notifications
You must be signed in to change notification settings - Fork 11
feat: migrate from Gitpod Classic to Ona #475
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Replace .gitpod.yml with Dev Container configuration - Add automations.yaml for services and tasks - Implement proper timing coordination between setup and service start - Move setup logic from postStartCommand to automated task - Add dependency coordination using completion markers - Maintain auto-start behavior with proper sequencing - Fix hanging setup task by removing blocking service start call - Add separate task for auto-starting service after setup completion - Simplify service configuration and remove problematic readiness checks - Add port management with HTTPS protocol for dashboard visibility - Include manual port control tasks (open/close/list ports) - Ensure ports 8910 (Web) and 8911 (API) are accessible via HTTPS URLs - Add video demonstration back to Ona Snapshot section in CONTRIBUTING.md Co-authored-by: Ona <[email protected]>
✅ Deploy Preview for cedarjs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Greptile Overview
Summary
This PR attempts to migrate from Gitpod Classic to Ona by replacing .gitpod.yml with Dev Container and Ona Automations configurations. However, the implementation has critical issues: the configuration files were copied directly from a RedwoodJS repository without proper adaptation to Cedar.
Critical Issues Found:
- All references throughout both config files use "RedwoodJS" and "RedwoodGraphQL" instead of "Cedar"
- Workspace paths reference
/workspaces/RedwoodGraphQLinstead of/workspaces/cedar - Test app directory is named
rw-test-appinstead ofcedar-test-app - Commands use
yarn rw devinstead ofyarn cdr dev(Cedar's CLI command) - Configuration file references
redwood.tomlinstead ofcedar.toml - Package cleanup targets
node_modules/@redwoodjsinstead ofnode_modules/@cedarjs
What Works:
- Documentation updates in
CONTRIBUTING.md,docs/docs/how-to/using-ona.md, anddocs/docs/quick-start.mdare mostly correct - The overall structure and approach of the migration is sound
- Deletion of
.gitpod.ymlis appropriate
The PR description itself appears to be copied from the RedwoodJS repository (mentions "RedwoodJS GraphQL repository" and references wrong PR number #12093).
Confidence Score: 0/5
- This PR cannot be safely merged - it will break the entire development environment setup
- The configuration files contain pervasive incorrect references to RedwoodJS instead of Cedar, wrong file paths, incorrect CLI commands, and wrong configuration file names. If merged, developers attempting to use Ona would encounter failures throughout the setup and development workflow.
.devcontainer/devcontainer.jsonand.ona/automations.yamlrequire complete revision to replace all RedwoodJS/RedwoodGraphQL references with Cedar-specific names, paths, and commands
Important Files Changed
File Analysis
| Filename | Score | Overview |
|---|---|---|
| .devcontainer/devcontainer.json | 1/5 | New Dev Container config contains multiple incorrect references to "RedwoodGraphQL" and "RedwoodJS" instead of "Cedar" |
| .ona/automations.yaml | 0/5 | New Ona automations config has pervasive issues: all references to RedwoodJS/RedwoodGraphQL, wrong paths, wrong commands (rw vs cdr), wrong config files (redwood.toml vs cedar.toml) |
| .gitpod.yml | 5/5 | Old Gitpod Classic config file deleted as expected for migration |
| CONTRIBUTING.md | 4/5 | Documentation updated to reference Ona instead of Gitpod, mentions added for new workflow |
| docs/docs/how-to/using-ona.md | 4/5 | Documentation migrated from using-gitpod.md with references updated to Ona, mostly correct |
| docs/docs/quick-start.md | 5/5 | Quick start doc updated with Ona references and links, changes look correct |
Sequence Diagram
sequenceDiagram
participant User
participant Ona
participant DevContainer
participant Setup as setup-environment
participant AutoStart as start-dev-after-setup
participant DevServer as dev-server
User->>Ona: Click "Run in Ona" button
Ona->>DevContainer: Initialize Dev Container
DevContainer->>DevContainer: Pull base image (Node 20)
DevContainer->>DevContainer: Install GitHub CLI feature
DevContainer->>DevContainer: Run postCreateCommand (corepack)
DevContainer->>Setup: Trigger postDevcontainerStart
Setup->>Setup: Set RWFW_PATH env var
Setup->>Setup: Create test app directory
Setup->>Setup: Clean node_modules cache
Setup->>Setup: Install framework dependencies
Setup->>Setup: Build test project with --link
Setup->>Setup: Configure cedar.toml
Setup->>Setup: Open ports 8910 & 8911
Setup->>Setup: Create completion marker
par Parallel Task
DevContainer->>AutoStart: Trigger postDevcontainerStart
AutoStart->>AutoStart: Wait for setup completion
AutoStart->>AutoStart: Check /tmp marker file
end
Setup-->>AutoStart: Setup complete signal
AutoStart->>AutoStart: Ensure ports are open
AutoStart->>DevServer: Start dev-server service
DevServer->>DevServer: Run yarn cdr dev
DevServer-->>User: Development environment ready
User->>User: Make framework changes
User->>Ona: Trigger "Sync Framework Changes"
Ona->>Setup: Run sync task
Setup->>Setup: yarn rwfw project:sync
Setup-->>DevServer: Sync changes to test app
6 files reviewed, 21 comments
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Greptile Overview
Summary
This PR migrates Cedar from Gitpod Classic to Ona by replacing .gitpod.yml with modern Dev Container configuration and Ona Automations. However, critical naming issues exist throughout - the configuration files use "RedwoodJS" and "RedwoodGraphQL" instead of "Cedar", which will cause workspace path failures and user confusion.
Major Issues Found:
.devcontainer/devcontainer.jsonand.ona/automations.yamlreference "RedwoodGraphQL" workspace paths that don't match the actual Cedar repository- Port labels, service names, and task descriptions all reference "RedwoodJS" instead of Cedar
- Documentation links point to
redwoodjs/starterinstead of Cedar repositories - Changeset incorrectly references "Redwood documentation"
- Three fixture
.gitpod.ymlfiles in__fixtures__/directory were not migrated (though these may be intentional test fixtures)
What Works Well:
- The migration approach from Classic Gitpod to Ona is technically sound
- Automation tasks are comprehensive and well-structured
- Dev Container configuration uses appropriate base image and features
- Old
.gitpod.ymlwas properly removed
Confidence Score: 1/5
- This PR has critical naming/branding issues that will break the development environment
- Score reflects that while the migration approach is sound, the consistent use of "RedwoodJS/RedwoodGraphQL" instead of "Cedar" will cause workspace path failures (/workspaces/RedwoodGraphQL won't exist), incorrect environment variables (RWFW_PATH), and user confusion. These are not cosmetic issues - they will prevent the Ona environment from working correctly
.devcontainer/devcontainer.jsonand.ona/automations.yamlrequire immediate attention - all RedwoodJS/RedwoodGraphQL references must be changed to Cedar before this can work
Important Files Changed
File Analysis
| Filename | Score | Overview |
|---|---|---|
| .changesets/475.md | 2/5 | Changeset added but references "Redwood documentation" instead of Cedar |
| .devcontainer/devcontainer.json | 1/5 | New Dev Container config but uses "RedwoodGraphQL" naming throughout instead of Cedar - will break workspace paths |
| .ona/automations.yaml | 1/5 | New Ona Automations config but references "RedwoodJS" and "RedwoodGraphQL" instead of Cedar throughout - will cause path and naming issues |
| docs/docs/how-to/using-ona.md | 2/5 | Renamed from using-gitpod.md but contains incorrect references to redwoodjs/starter repo and "Redwood" instead of Cedar |
Sequence Diagram
sequenceDiagram
participant User
participant Ona as Ona Platform
participant DevContainer as Dev Container
participant Setup as Setup Task
participant DevServer as Dev Server Task
participant Service as Cedar Dev Service
User->>Ona: Click "Run in Ona" button
Ona->>DevContainer: Initialize Dev Container
DevContainer->>DevContainer: Pull base image (Node 20)
DevContainer->>DevContainer: Install GitHub CLI
DevContainer->>DevContainer: Enable corepack
DevContainer->>Setup: Trigger postDevcontainerStart
Setup->>Setup: Set RWFW_PATH env var
Setup->>Setup: Clean cache & symlinks
Setup->>Setup: yarn install (framework deps)
Setup->>Setup: Build test project (rw-test-app)
Setup->>Setup: Configure redwood.toml
Setup->>Ona: Open ports 8910 & 8911
Setup->>Setup: Signal completion (/tmp/redwood-setup-complete)
DevServer->>DevServer: Wait for setup completion
Setup-->>DevServer: Setup complete
DevServer->>Ona: Ensure ports are open
DevServer->>Service: Start dev-server service
Service->>Service: cd /workspaces/rw-test-app
Service->>Service: yarn rw dev
Service-->>User: Development servers ready
User->>Ona: Access port 8910 (Web)
User->>Ona: Access port 8911 (API)
Note over User,Service: Optional: Framework Changes
User->>Service: Make framework changes
User->>Ona: Run "Sync Framework Changes" task
Ona->>Setup: yarn rwfw project:sync
Setup->>Service: Sync changes to test project
Additional Comments (3)
-
docs/docs/how-to/using-ona.md, line 26-32 (link)logic: Links still point to
redwoodjs/starterinstead of Cedar repository -
docs/docs/how-to/using-ona.md, line 33 (link)logic: References "Redwood" instead of "Cedar"
-
docs/docs/how-to/using-ona.md, line 39-50 (link)logic: Image links still reference
redwoodjs/starter- should update to Cedar repository or remove if images don't exist
No files reviewed, 5 comments
Co-authored-by: Siddhant Khare <[email protected]> Co-authored-by: Ona <[email protected]>
Migration from Gitpod Classic to Ona
This PR migrates the Cedar repository from Gitpod Classic to Ona. As announced in Gitpod is now Ona.
This PR was originally created towards the RedwoodJS repo over at redwoodjs/graphql#12093
What's changed
Configuration migration
.gitpod.ymlwith modern Dev Container configuration (.devcontainer/devcontainer.json).ona/automations.yaml) for services and tasksusing-gitpod.mdtousing-ona.md🔧 Technical details
Environment Configuration
mcr.microsoft.com/devcontainers/javascript-node:1-20-bullseyeAutomation Tasks
setup-environment: Automatic setup on environment startstart-dev-after-setup: Auto-start development server after setupsync-framework-changes: Manual framework synchronizationopen-ports/close-ports/list-ports: Port managementstart-dev-server/stop-dev-server/restart-dev-server: Service controlDevelopment Workflow
Documentation
Updated documentation includes:
Try it below