chainlink icon indicating copy to clipboard operation
chainlink copied to clipboard

[CRE-1204] pass parent context, when starting new services in the local CRE

Open Tofel opened this issue 2 months ago • 3 comments

This pull request introduces a small refactor to the system, standardizing the usage of context.Context across environment setup, blockchain deployment, DON deployment, and job distributor startup. This change improves resource management, cancellation, and timeout handling throughout the test infrastructure. Additionally, several dependencies are updated to newer versions for improved stability and compatibility.

Context propagation and API consistency:

  • Updated all major environment setup, blockchain deployment, DON deployment, and job distributor functions to accept and propagate context.Context, replacing previous usage of context.Background() or missing context parameters. This affects files such as crib.go, blockchains.go, evm.go, solana.go, tron.go, dons.go, environment.go, jobs.go, and state.go. [1] [2] [3] [4] [5] [6] [7] [8] [9]

  • Refactored function calls and signatures to pass context through all layers, including deployment and initialization logic, ensuring consistent cancellation and timeout semantics. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17]

Dependency updates:

  • Upgraded chainlink-testing-framework/framework and related components to newer versions in go.mod files for core/scripts, system-tests/lib, and system-tests/tests, improving compatibility and stability. [1] [2] [3]

Infrastructure and environment improvements:

  • Updated initialization for Chip Ingress and Billing Platform Service to use context-aware constructors, improving resource management during startup in environment/beholder.go and environment/billing.go. [1] [2] [3]

Internal API changes:

  • Changed several "New" and "Apply" methods to their context-aware variants (e.g., NewWithContext, Apply(ctx)) for blockchain networks, node sets, and job distributors, ensuring proper context propagation. [1] [2] [3]

These changes collectively improve the reliability, maintainability, and testability of the codebase by enforcing context propagation and updating dependencies.

Tofel avatar Oct 29 '25 11:10 Tofel

I see you updated files related to core. Please run pnpm changeset in the root directory to add a changeset as well as in the text include at least one of the following tags:

  • #added For any new functionality added.
  • #breaking_change For any functionality that requires manual action for the node to boot.
  • #bugfix For bug fixes.
  • #changed For any change to the existing functionality.
  • #db_update For any feature that introduces updates to database schema.
  • #deprecation_notice For any upcoming deprecation functionality.
  • #internal For changesets that need to be excluded from the final changelog.
  • #nops For any feature that is NOP facing and needs to be in the official Release Notes for the release.
  • #removed For any functionality/config that is removed.
  • #updated For any functionality that is updated.
  • #wip For any change that is not ready yet and external communication about it should be held off till it is feature complete.

github-actions[bot] avatar Oct 29 '25 11:10 github-actions[bot]

Static BadgeStatic BadgeStatic BadgeStatic Badge

View Full Report ↗︎Docs

trunk-io[bot] avatar Oct 29 '25 13:10 trunk-io[bot]