Skip to content

[DX-2588] Migrate VRFv2Plus smoke tests to devenv#21542

Merged
Tofel merged 4 commits intodevelopfrom
dx-2588-vrfv2-smoke-devenv
Mar 19, 2026
Merged

[DX-2588] Migrate VRFv2Plus smoke tests to devenv#21542
Tofel merged 4 commits intodevelopfrom
dx-2588-vrfv2-smoke-devenv

Conversation

@Tofel
Copy link
Contributor

@Tofel Tofel commented Mar 17, 2026

Summary

  • migrate legacy VRFv2Plus smoke/migration/replay/batch/BHS/BHF/multi-key tests into devenv with new test suite and helpers under devenv/tests/vrfv2plus

  • add a full vrfv2_plus devenv product (configs, job specs, core/configuration, env files, and contract wrappers) to support the new test flow

  • wire nightly CI to run the new devenv VRFv2Plus suites and remove legacy VRFv2Plus entries/workflows from E2E config

Successful "nightly" run: https://github.com/smartcontractkit/chainlink/actions/runs/23190394113

Not migrated:

  • reorg test
  • load test

Not tested:

  • live testnets

working BHS, multiple keys and batch tests

migrated BHF, migration, replay and pending block tests -- none of them tested yet

more robust fixes

fix lints + remove old tests

run vrfv2plus tests in universal nightly pipeline
@github-actions
Copy link
Contributor

github-actions bot commented Mar 17, 2026

✅ No conflicts with other open PRs targeting develop

skudasov
skudasov previously approved these changes Mar 17, 2026
@trunk-io
Copy link

trunk-io bot commented Mar 17, 2026

Static BadgeStatic BadgeStatic BadgeStatic Badge

Failed Test Failure Summary Logs
Test_CRE_V2_HTTP_Regression The test named Test_CRE_V2_HTTP_Regression failed during execution. Logs ↗︎
Test_CRE_V2_HTTP_Regression/[v2]_HTTP_Trigger_fails_with_invalid_AuthorizedKey.PublicKey_format The test failed due to an invalid public key format in the HTTP trigger workflow. Logs ↗︎
Test_CRE_V2_HTTP_Regression/[v2]_HTTP_Trigger_fails_with_invalid_AuthorizedKey.PublicKey_format The test failed due to an invalid public key format used in the HTTP trigger workflow. Logs ↗︎
Test_CRE_V2_HTTP_Regression/[v2]_HTTP_Trigger_fails_with_invalid_AuthorizedKey.PublicKey_format The test failed due to an invalid public key format in the HTTP trigger workflow. Logs ↗︎

... and 2 more

View Full Report ↗︎Docs

Copy link
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

Risk Rating: HIGH — introduces a new vrfv2_plus devenv product (contracts + job wiring), migrates multiple VRFv2Plus suites, and updates nightly CI execution paths.

Migrates legacy VRFv2Plus smoke/migration/replay/batch/BHS/BHF/multi-key tests into the devenv harness by adding a dedicated vrfv2plus product, new contract wrappers, and new devenv test suites, then wiring nightly CI to run the devenv suites and removing legacy VRFv2Plus E2E entries.

Changes:

  • Add vrfv2_plus devenv product (config schema, job spec templates, contract/job orchestration, env TOMLs).
  • Add new VRFv2Plus devenv test suites under devenv/tests/vrfv2plus.
  • Update CI to run devenv VRFv2Plus tests nightly and remove legacy integration-test suite wiring.

Reviewed changes

Copilot reviewed 30 out of 30 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
devenv/tests/vrfv2plus/smoke_test.go New VRFv2Plus smoke suite covering LINK/native billing, direct funding, confirmations, job runs, and admin ops.
devenv/tests/vrfv2plus/replay_test.go New replay-after-timeout suite that recreates job spec to replay pending requests.
devenv/tests/vrfv2plus/pending_block_test.go New pending-block simulation + 0-confirmations behavior test.
devenv/tests/vrfv2plus/multiple_keys_test.go New suite verifying multiple TX sending keys are exercised.
devenv/tests/vrfv2plus/migration_test.go New suite validating sub migration to upgraded coordinator (sub + wrapper paths).
devenv/tests/vrfv2plus/helpers.go Shared helpers for subscription funding, request/fulfillment waiting, and funding reconciliation.
devenv/tests/vrfv2plus/bhs_test.go New BHS suite validating blockhash storage and “fund later” fulfillment.
devenv/tests/vrfv2plus/bhf_test.go New BHF suite validating batch BHS forwarding path and eventual fulfillment.
devenv/tests/vrfv2plus/batch_test.go New batch fulfillment enabled/disabled assertions including tx destination and log counts.
devenv/products/vrfv2plus/basic.toml Base vrfv2plus product config used by smoke/migration.
devenv/products/vrfv2plus/batch.toml Batch-fulfillment vrfv2plus product config.
devenv/products/vrfv2plus/bhs.toml BHS-enabled vrfv2plus product config.
devenv/products/vrfv2plus/bhf.toml BHF-enabled vrfv2plus product config.
devenv/products/vrfv2plus/replay.toml Replay-focused vrfv2plus product config (short request timeout).
devenv/products/vrfv2plus/pending_block.toml Pending-block simulation config (0 min confirmations).
devenv/products/vrfv2plus/two_keys.toml Multi-TX-key vrfv2plus product config.
devenv/products/vrfv2plus/job_spec.go VRFv2Plus pipeline + job-spec template rendering helpers.
devenv/products/vrfv2plus/job_spec_bhs.go BlockhashStore job spec template.
devenv/products/vrfv2plus/job_spec_bhf.go BlockheaderFeeder job spec template.
devenv/products/vrfv2plus/core.go Main orchestration: node keys, funding, contract deploys, VRF/BHS/BHF job creation, wrapper setup.
devenv/products/vrfv2plus/configuration.go Product config types + loader/storer for vrfv2_plus.
devenv/environment.go Registers vrfv2_plus as a supported devenv product.
devenv/env-vrf2plus.toml New env definition for VRFv2Plus single-node topology.
devenv/env-vrf2plus-bhX.toml New env definition for BHS/BHF topologies (multi-node).
devenv/contracts/vrf.go Adds VRFv2Plus-related contract wrappers and deploy/load helpers.
devenv/products/evm.go Adds EtherToGwei utility used by VRFv2Plus setup.
devenv/.gitignore Ignores *-out.toml outputs (devenv generated outputs).
.github/workflows/devenv-nightly.yml Adds nightly matrix entries to run devenv VRFv2Plus suites.
.github/workflows/on-demand-vrfv2plus-smoke-tests.yml Removes legacy on-demand workflow for old integration-test suite.
.github/e2e-tests.yml Removes legacy integration-tests VRFv2Plus matrix entries/workflows.

You can also share your feedback on Copilot code review. Take the survey.

skudasov
skudasov previously approved these changes Mar 17, 2026
kdihalas
kdihalas previously approved these changes Mar 17, 2026
@cl-sonarqube-production
Copy link

@Tofel Tofel closed this Mar 19, 2026
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.

4 participants