-
Notifications
You must be signed in to change notification settings - Fork 6
Gel 5 -> 6 #3399
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
Gel 5 -> 6 #3399
Conversation
📝 WalkthroughWalkthroughThis update transitions project configuration and workflows from "EdgeDB" to "Gel," reflecting a comprehensive rebranding and upgrade. The Dockerfile, configuration files, GitHub Actions workflows, and run configurations are updated to use "Gel" naming, commands, and environment variables. The Docker image, server version, and related dependencies are incremented. Source code changes adapt module paths and API usage to match the new "Gel" conventions and capabilities. The GitHub Actions workflow and composite action are refactored for clarity and to use local actions. Minor label and path adjustments are made in database seed scripts and code generation logic. Changes
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 90000ms (12)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
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.
Actionable comments posted: 1
🧹 Nitpick comments (1)
dbschema/seeds/018.ceremonies.edgeql (1)
34-34
: Verify JSON field naming in seed output
You changed the record key toModified Ceremonies
(plural, no colon). Confirm that downstream consumers of this seed script handle the updated field name correctly or update their code accordingly.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
yarn.lock
is excluded by!**/yarn.lock
,!**/*.lock
📒 Files selected for processing (13)
.github/workflows/gel.yml
(1 hunks).idea/runConfigurations/gel_ap_inject.xml
(1 hunks).idea/runConfigurations/gel_gen.xml
(1 hunks).idea/runConfigurations/gel_seed.xml
(1 hunks).idea/runConfigurations/gel_watch.xml
(1 hunks)Dockerfile
(3 hunks)dbschema/seeds/018.ceremonies.edgeql
(1 hunks)edgedb.toml
(0 hunks)gel.toml
(1 hunks)package.json
(1 hunks)src/core/gel/codecs/temporal.codec.ts
(1 hunks)src/core/gel/generator/query-builder.ts
(1 hunks)src/core/gel/generator/query-files.ts
(2 hunks)
💤 Files with no reviewable changes (1)
- edgedb.toml
🧰 Additional context used
🧬 Code Graph Analysis (1)
src/core/gel/generator/query-files.ts (1)
src/core/database/database.service.ts (1)
query
(120-129)
⏰ Context from checks skipped due to timeout of 90000ms (12)
- GitHub Check: E2E Tests (neo4j 6/6)
- GitHub Check: E2E Tests (neo4j 5/6)
- GitHub Check: E2E Tests (neo4j 4/6)
- GitHub Check: E2E Tests (neo4j 3/6)
- GitHub Check: E2E Tests (neo4j 2/6)
- GitHub Check: Generate (head)
- GitHub Check: E2E Tests (neo4j 1/6)
- GitHub Check: Generate (base)
- GitHub Check: Unit
- GitHub Check: lint
- GitHub Check: Clean
- GitHub Check: Analyze (javascript)
🔇 Additional comments (16)
package.json (1)
116-116
: Verify canary pre-release dependency version
Using a canary pre-release for@gel/generate
can introduce instability. Confirm that^0.7.0-canary.20250422T080308
is intentional for all environments, or consider pinning to a stable release once available.gel.toml (1)
1-2
: Confirm GEL server version alignment
The newserver-version = "6.3"
must match the version used in the Dockerfile, CI workflows, and deployment environments. Please verify that all configurations and hosted instances support GEL 6.3..github/workflows/gel.yml (1)
23-23
: Update migration status command to GEL
Correctly replaced the EdgeDB command withgel migration status
to reflect the tooling rename.src/core/gel/codecs/temporal.codec.ts (1)
40-40
: Module path syntax updated to reflect GEL 6 conventionsThe module path has been updated from
'cal'
to'std::cal'
to align with GEL 6's namespace structure. This change works in conjunction with the updated module path handling in query-builder.ts where::
is now converted to nested directory paths..idea/runConfigurations/gel_gen.xml (1)
2-2
: Configuration updated from EdgeDB to GELThe run configuration has been correctly updated to reflect the migration from EdgeDB to GEL, including both the configuration name and the script reference.
Also applies to: 6-6
.idea/runConfigurations/gel_seed.xml (1)
2-2
: Configuration updated from EdgeDB to GELThe run configuration has been correctly updated to reflect the migration from EdgeDB to GEL, including both the configuration name and the script reference.
Also applies to: 6-6
.idea/runConfigurations/gel_ap_inject.xml (1)
2-2
: Configuration updated from EdgeDB to GELThe run configuration has been correctly updated to reflect the migration from EdgeDB to GEL, including both the configuration name and command arguments.
Also applies to: 8-8
src/core/gel/generator/query-builder.ts (1)
64-64
: Module path handling enhanced to support namespace hierarchyThe module path construction has been improved to handle namespaced module identifiers by converting
::
separators to directory paths. This change supports the GEL 6 module structure and ensures correct file generation for namespaced modules likestd::cal
.src/core/gel/generator/query-files.ts (2)
49-54
: Updated to usedescribe
method instead ofparse
The change from
client.parse(query)
toclient.describe(query)
aligns with GEL 6's API. The new API now returns an additionalcapabilities
property which you've properly destructured.
67-67
: Added capabilities to return objectGood job including the new
capabilities
property in the returned object, ensuring that consumers of this function have access to the enhanced query metadata available in GEL 6.Dockerfile (6)
3-3
: Updated base image to GEL 6Successfully upgraded the base image from EdgeDB 5 to
ghcr.io/geldata/gel:6
as intended in this PR.
66-70
: Updated environment variables to GEL namespaceEnvironment variables have been properly renamed from
EDGEDB_*
toGEL_*
to align with the rebranding. The addition ofGEL_DOCKER_SHOW_GENERATED_CERT=never
is also a good improvement to reduce log clutter.
87-87
: Updated ownership to gel userDirectory ownership has been correctly updated from
edgedb:edgedb
togel:gel
to match the new container's user configuration.
89-90
: Added single-transaction flag to migrationsThe addition of
--single-transaction
for running migrations is important to note. This ensures that all migrations run within a single database transaction, which can prevent partial migrations if an error occurs. However, it may also have performance implications for large migration sets.Do you need additional safety mechanisms for recovery if a migration in the middle of a large set fails during deployment?
94-96
: Updated bootstrap directory namingBootstrap directories and scripts have been properly renamed from
edgedb-bootstrap-late.d
togel-bootstrap-late.d
to maintain consistency with the GEL branding.
99-99
: Updated entrypoint commandThe Docker entrypoint command has been updated from
edgedb-server
toserver
to align with the GEL 6 command structure.
…transaction This prevents a CLI timeout & crash with complex migration files
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.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
yarn.lock
is excluded by!**/yarn.lock
,!**/*.lock
📒 Files selected for processing (14)
.github/actions/gel-setup/action.yml
(1 hunks).github/workflows/gel.yml
(1 hunks).idea/runConfigurations/gel_ap_inject.xml
(1 hunks).idea/runConfigurations/gel_gen.xml
(1 hunks).idea/runConfigurations/gel_seed.xml
(1 hunks).idea/runConfigurations/gel_watch.xml
(2 hunks)Dockerfile
(3 hunks)dbschema/seeds/018.ceremonies.edgeql
(1 hunks)edgedb.toml
(0 hunks)gel.toml
(1 hunks)package.json
(1 hunks)src/core/gel/codecs/temporal.codec.ts
(1 hunks)src/core/gel/generator/query-builder.ts
(1 hunks)src/core/gel/generator/query-files.ts
(2 hunks)
💤 Files with no reviewable changes (1)
- edgedb.toml
✅ Files skipped from review due to trivial changes (2)
- .idea/runConfigurations/gel_watch.xml
- .idea/runConfigurations/gel_ap_inject.xml
🚧 Files skipped from review as they are similar to previous changes (10)
- gel.toml
- .idea/runConfigurations/gel_gen.xml
- package.json
- src/core/gel/generator/query-builder.ts
- dbschema/seeds/018.ceremonies.edgeql
- .idea/runConfigurations/gel_seed.xml
- src/core/gel/generator/query-files.ts
- .github/workflows/gel.yml
- Dockerfile
- src/core/gel/codecs/temporal.codec.ts
⏰ Context from checks skipped due to timeout of 90000ms (11)
- GitHub Check: E2E Tests (neo4j 6/6)
- GitHub Check: E2E Tests (neo4j 5/6)
- GitHub Check: Unit
- GitHub Check: E2E Tests (neo4j 4/6)
- GitHub Check: E2E Tests (neo4j 3/6)
- GitHub Check: Generate (head)
- GitHub Check: E2E Tests (neo4j 2/6)
- GitHub Check: Generate (base)
- GitHub Check: lint
- GitHub Check: Clean
- GitHub Check: E2E Tests (neo4j 1/6)
🔇 Additional comments (2)
.github/actions/gel-setup/action.yml (2)
11-14
: Initialize Gel project non-interactively
Usinggel project init --no-migrations --non-interactive
cleanly separates project scaffolding from migrations and avoids CI prompts. This change improves clarity and idempotency.
15-17
: Apply migrations atomically
The--single-transaction
flag ensures all schema changes are applied in one transaction, reducing the risk of partial migrations.
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.
Actionable comments posted: 2
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
dbschema/migrations/00019-m1w7e7d.edgeql
(1 hunks)dbschema/project.gel
(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (12)
- GitHub Check: E2E Tests (neo4j 6/6)
- GitHub Check: E2E Tests (neo4j 5/6)
- GitHub Check: E2E Tests (neo4j 4/6)
- GitHub Check: E2E Tests (neo4j 3/6)
- GitHub Check: E2E Tests (neo4j 2/6)
- GitHub Check: Generate (head)
- GitHub Check: E2E Tests (neo4j 1/6)
- GitHub Check: Analyze (javascript)
- GitHub Check: Generate (base)
- GitHub Check: Clean
- GitHub Check: Unit
- GitHub Check: lint
No description provided.