[CRE-1204] pass parent context, when starting new services in the local CRE
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 ofcontext.Background()or missing context parameters. This affects files such ascrib.go,blockchains.go,evm.go,solana.go,tron.go,dons.go,environment.go,jobs.go, andstate.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/frameworkand related components to newer versions ingo.modfiles forcore/scripts,system-tests/lib, andsystem-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.goandenvironment/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.
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:
#addedFor any new functionality added.#breaking_changeFor any functionality that requires manual action for the node to boot.#bugfixFor bug fixes.#changedFor any change to the existing functionality.#db_updateFor any feature that introduces updates to database schema.#deprecation_noticeFor any upcoming deprecation functionality.#internalFor changesets that need to be excluded from the final changelog.#nopsFor any feature that is NOP facing and needs to be in the official Release Notes for the release.#removedFor any functionality/config that is removed.#updatedFor any functionality that is updated.#wipFor any change that is not ready yet and external communication about it should be held off till it is feature complete.
Quality Gate passed
Issues
0 New issues
0 Fixed issues
0 Accepted issues
Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code