feat(ci): include ENSNode v2 Sepolia instance in workflows config - #1587
Conversation
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📝 WalkthroughWalkthroughAdds v2-sepolia deployment and routing: GitHub Actions gains V2_SEPOLIA env vars, deploy/redeploy steps, and Redis Traefik router entries; Terraform adds a v2-sepolia indexer instance and local FQDNs, and removes Route53 DNS validation records and related locals; README comment updated. Changes
Sequence Diagram(s)sequenceDiagram
participant CI as CI (GitHub Actions)
participant Redis as Redis (Traefik KV)
participant Traefik as Traefik
participant API as V2_SEPOLIA API
participant Indexer as V2_SEPOLIA Indexer
participant DB as Database
CI->>Redis: SET traefik/http/routers/v2-sepolia-api-router/service ...
CI->>Redis: SET traefik/http/routers/v2-sepolia-indexer-router/service ...
CI->>API: Trigger deploy/redeploy (V2_SEPOLIA_API_SVC_ID)
CI->>Indexer: Trigger deploy/redeploy (V2_SEPOLIA_INDEXER_SVC_ID)
Indexer->>DB: Connect using schema "v2SepoliaSchema-${var.ensnode_version}"
Traefik->>API: Route incoming requests to V2_SEPOLIA API
Traefik->>Indexer: Route indexer traffic to V2_SEPOLIA Indexer
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
Comment |
tk-o
left a comment
There was a problem hiding this comment.
Self-review completed
There was a problem hiding this comment.
Pull request overview
This PR adds configuration for the new ENSNode v2 Sepolia instance across the deployment infrastructure, enabling it to be deployed and managed alongside existing instances in the Blue/Green deployment workflow.
Changes:
- Added v2-sepolia instance configuration to Terraform with appropriate database schema, plugins, and namespace settings
- Updated Blue/Green deployment workflow to include v2-sepolia service deployment, image updates, and redeployment steps
- Added v2-sepolia routing configuration to the environment switch workflow for Traefik load balancer
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| terraform/main.tf | Adds v2-sepolia configuration block defining indexer type, database schema, plugins (ensv2, protocol-acceleration), and deployment settings |
| .github/workflows/deploy_ensnode_blue_green.yml | Adds v2-sepolia service ID environment variables for both Blue and Green environments, updates service images, sets database schema variable, and includes redeployment steps |
| .github/workflows/deploy_switch_ensnode_environment.yml | Adds Redis routing configuration for v2-sepolia API and indexer services with load balancer header routing |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| update_service_image ${RAILWAY_ENVIRONMENT_ID} ${V2_SEPOLIA_API_SVC_ID} ${{ env.ENSAPI_DOCKER_IMAGE }} | ||
| update_service_image ${RAILWAY_ENVIRONMENT_ID} ${V2_SEPOLIA_INDEXER_SVC_ID} ${{ env.ENSINDEXER_DOCKER_IMAGE }} |
There was a problem hiding this comment.
The spacing alignment for the V2_SEPOLIA service ID variables is inconsistent with the established pattern. Looking at lines 136-143, the pattern uses different spacing to align the final parameter. Specifically:
- Line 136:
${ALPHA_API_SVC_ID}(13 spaces before $) - Line 142:
${ALPHA_SEPOLIA_API_SVC_ID}(5 spaces before $) - Line 145:
${V2_SEPOLIA_API_SVC_ID}(9 spaces before $)
The V2_SEPOLIA entries should follow the same alignment pattern as other similar-length variables. Based on the pattern, line 145 should use fewer spaces to better align with the others.
| update_service_image ${RAILWAY_ENVIRONMENT_ID} ${V2_SEPOLIA_API_SVC_ID} ${{ env.ENSAPI_DOCKER_IMAGE }} | |
| update_service_image ${RAILWAY_ENVIRONMENT_ID} ${V2_SEPOLIA_INDEXER_SVC_ID} ${{ env.ENSINDEXER_DOCKER_IMAGE }} | |
| update_service_image ${RAILWAY_ENVIRONMENT_ID} ${V2_SEPOLIA_API_SVC_ID} ${{ env.ENSAPI_DOCKER_IMAGE }} | |
| update_service_image ${RAILWAY_ENVIRONMENT_ID} ${V2_SEPOLIA_INDEXER_SVC_ID} ${{ env.ENSINDEXER_DOCKER_IMAGE }} |
Greptile OverviewGreptile SummaryThis PR integrates the newly created ENSNode v2 Sepolia instances into the blue/green deployment infrastructure by adding the necessary configuration across workflows and Terraform files. Changes Made:
Consistency: Confidence Score: 5/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant GHA as GitHub Actions
participant Railway as Railway API
participant Redis as Redis (Traefik)
participant V2Sepolia as V2-SEPOLIA Services
participant Terraform as Terraform Config
Note over GHA,Terraform: Deployment Flow
GHA->>GHA: Trigger deploy_ensnode_blue_green workflow
GHA->>GHA: Calculate environment (Blue/Green)
GHA->>GHA: Set V2_SEPOLIA_API_SVC_ID
GHA->>GHA: Set V2_SEPOLIA_INDEXER_SVC_ID
GHA->>Railway: Update V2-SEPOLIA API docker image
GHA->>Railway: Update V2-SEPOLIA Indexer docker image
GHA->>Railway: Set V2-SEPOLIA_DATABASE_SCHEMA variable
GHA->>Railway: Redeploy V2-SEPOLIA API service
GHA->>Railway: Redeploy V2-SEPOLIA Indexer service
Railway-->>V2Sepolia: Services redeployed with new config
Note over GHA,Redis: Environment Switch Flow
GHA->>GHA: Trigger deploy_switch_ensnode_environment
GHA->>Redis: Update v2-sepolia-api-router routing
GHA->>Redis: Update v2-sepolia-indexer-router routing
GHA->>Redis: Update lb-header-v2-sepolia-api-router routing
GHA->>Redis: Update lb-header-v2-sepolia-indexer-router routing
Redis-->>V2Sepolia: Traffic routed to active environment
Note over Terraform: Infrastructure Configuration
Terraform->>Terraform: Define v2-sepolia instance config
Terraform->>Terraform: Set plugins: ensv2,protocol-acceleration
Terraform->>Terraform: Set namespace: sepolia
Terraform->>Terraform: Set subgraph_compat: false
|
lightwalker-eth
left a comment
There was a problem hiding this comment.
@tk-o Thank you! Shared one small suggestion. Please merge when ready ✅
| update_service_image ${RAILWAY_ENVIRONMENT_ID} ${ALPHA_SEPOLIA_INDEXER_SVC_ID} ${{ env.ENSINDEXER_DOCKER_IMAGE }} | ||
| #V2-SEPOLIA | ||
| update_service_image ${RAILWAY_ENVIRONMENT_ID} ${V2_SEPOLIA_API_SVC_ID} ${{ env.ENSAPI_DOCKER_IMAGE }} | ||
| update_service_image ${RAILWAY_ENVIRONMENT_ID} ${V2_SEPOLIA_INDEXER_SVC_ID} ${{ env.ENSINDEXER_DOCKER_IMAGE }} |
There was a problem hiding this comment.
The AI feedback on aligning the spacing here looks like a nice idea 👍
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
lightwalker-eth
left a comment
There was a problem hiding this comment.
@tk-o One other small suggestion
Co-authored-by: lightwalker.eth <126201998+lightwalker-eth@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 8 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Lite PR
Tip: Review docs on the ENSNode PR process
Summary
Why
Testing
Notes for Reviewer (Optional)
GREEN_V2_SEPOLIA_API_SVC_IDGREEN_V2_SEPOLIA_INDEXER_SVC_IDBLUE_V2_SEPOLIA_API_SVC_IDBLUE_V2_SEPOLIA_INDEXER_SVC_IDPre-Review Checklist (Blocking)