Skip to content

Add builtin interface, convert blockchain to builtin.#1101

Open
winder wants to merge 1 commit into
mainfrom
will/phased-devenv-5
Open

Add builtin interface, convert blockchain to builtin.#1101
winder wants to merge 1 commit into
mainfrom
will/phased-devenv-5

Conversation

@winder
Copy link
Copy Markdown
Collaborator

@winder winder commented May 12, 2026

Description

Add ordered builtin component logic to the devenv. Turn blockchain component into a builtin.

Testing

New unit test. Existing phased devenv integ test for regression testing.

Checklist

  • Breaking changes documented in changelog (see changelog directory)
  • Cross link related PRs (in this or other repositories)
  • just lint fix - no new lint errors
  • just generate - mocks and protobufs are up to date

@winder winder marked this pull request as ready for review May 12, 2026 14:43
@winder winder requested a review from a team as a code owner May 12, 2026 14:43
Copilot AI review requested due to automatic review settings May 12, 2026 14:43
@github-actions
Copy link
Copy Markdown

Code coverage report:

Package main will/phased-devenv-5 Diff
github.com/smartcontractkit/chainlink-ccv/aggregator 49.35% 49.35% +0.00%
github.com/smartcontractkit/chainlink-ccv/bootstrap 47.23% 47.23% +0.00%
github.com/smartcontractkit/chainlink-ccv/cli 65.13% 65.13% +0.00%
github.com/smartcontractkit/chainlink-ccv/cmd 15.54% 15.54% +0.00%
github.com/smartcontractkit/chainlink-ccv/common 56.54% 56.54% +0.00%
github.com/smartcontractkit/chainlink-ccv/executor 45.97% 45.97% +0.00%
github.com/smartcontractkit/chainlink-ccv/indexer 37.68% 37.68% +0.00%
github.com/smartcontractkit/chainlink-ccv/integration 46.18% 46.09% -0.09%
github.com/smartcontractkit/chainlink-ccv/pkg 84.62% 84.62% +0.00%
github.com/smartcontractkit/chainlink-ccv/pricer 0.00% 0.00% +0.00%
github.com/smartcontractkit/chainlink-ccv/protocol 63.75% 63.75% +0.00%
github.com/smartcontractkit/chainlink-ccv/verifier 34.47% 34.47% +0.00%
Total 46.30% 46.20% -0.10%

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Introduces a “builtin” component stage to the build/devenv/runtime orchestrator to support a fixed, dependency-respecting startup order for foundational infrastructure, and migrates the blockchains component into that builtin stage.

Changes:

  • Add BuiltinComponent interface and a pre-phase builtin execution loop with a fixed builtinOrder.
  • Improve overwrite-collision error messaging to distinguish builtins vs phases.
  • Convert the blockchains component from Phase 1 to RunBuiltin, and add unit tests + mockery support.

Reviewed changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
build/devenv/runtime/environment.go Adds builtin ordering/execution before phases and enhances collision error messages to label “builtin” vs “phase N”.
build/devenv/runtime/environment_test.go Adds unit tests covering builtin ordering, visibility of outputs, and sanity checks.
build/devenv/runtime/component.go Introduces the BuiltinComponent interface.
build/devenv/internal/mocks/mock_BuiltinComponent.go Adds generated mock for BuiltinComponent.
build/devenv/components/blockchains/component.go Migrates blockchain provisioning from RunPhase1 to RunBuiltin.
build/devenv/.mockery.yaml Registers BuiltinComponent for mock generation.
Files not reviewed (1)
  • build/devenv/internal/mocks/mock_BuiltinComponent.go: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants