Skip to content

Conversation

@Tofel
Copy link
Contributor

@Tofel Tofel commented Jan 22, 2026

Done:

  • migrated automation smoke tests to devenv
    • split them by registry version they use, so that tests using the same version run sequentially
  • migrated log poller smoke tests to devenv
    • removed some tests and instead created two environments that differ by network configuration (finalityTag vs fixed-depth finality)
  • removed log poller as a separate product, now these are just tests built on top of automation
  • removed all unused functions
  • updated fakes to support Mercury endpoints used by automation and update image name
  • copied some packages from CTF to remove dependency on v1 version, e.g. concurrency, log verifier
  • modified ConfigureJobsAndContracts() function definition in the Product interface to include (product) instance index
  • added a new function to the Product interface that generates node secrets:
	GenerateCLNodesSecrets(
		ctx context.Context,
		fake *fake.Input,
	) (string, error)
  • moved some common functions from ocr2 package to products
  • added a function for node restarting, used in node image upgrade tests
  • migrated function for returning funds from nodes on live networks

Missing:

  • make sure that these tests are indeed equivalent to originals in terms of contract configuration, node TOML and job specs
  • run tests in CI
  • updating accesses to new repo called chainlink-fakes
  • add log poller reply function to ChainlinkClient in the CTF
  • unifying funding/waiting functions, now we have pure eth client and seth client, we should have only one
  • migrate node upgrade test (or rather: define it, since functionality exists and works)

@github-actions
Copy link
Contributor

github-actions bot commented Jan 22, 2026

CORA - Pending Reviewers

Codeowners Entry Overall Num Files Owners
/integration-tests/**/*automation* 1 @smartcontractkit/dev-services, @smartcontractkit/core
/devenv/ 💬 41 @smartcontractkit/devex-tooling
/devenv/products/ocr2/ 💬 3 @smartcontractkit/devex-tooling
/.github/** 💬 3 @smartcontractkit/devex-cicd, @smartcontractkit/devex-tooling, @smartcontractkit/core
/.github/workflows/devenv-ocr2.yml 💬 1 @smartcontractkit/devex-tooling
go.md 1 @smartcontractkit/core, @smartcontractkit/foundations
go.mod 1 @smartcontractkit/core, @smartcontractkit/foundations
go.sum 1 @smartcontractkit/core, @smartcontractkit/foundations

Legend: ✅ Approved | ❌ Changes Requested | 💬 Commented | 🚫 Dismissed | ⏳ Pending | ❓ Unknown

For more details, see the full review summary.

@trunk-io
Copy link

trunk-io bot commented Jan 22, 2026

Static BadgeStatic BadgeStatic BadgeStatic Badge

View Full Report ↗︎Docs

schedule:
- cron: "0 6 * * *" # Run daily at 6 AM
workflow_dispatch:
# remove after testing
Copy link
Collaborator

Choose a reason for hiding this comment

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

👍 just a reminder comment

"feedID": "0x00028c915d6af0fd66bba2d0fc9405226bca8d6806333121a7d9832103d1563c",
"validFromTimestamp": 0,
"observationsTimestamp": 0,
"fullReport": "0x00066dfcd1ed2d95b18c948dbc5bd64c687afe93e4ca7d663ddec14c20090ad80000000000000000000000000000000000000000000000000000000000081401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000280000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001204554482d5553442d415242495452554d2d544553544e455400000000000000000000000000000000000000000000000000000000000000000000000064891c98000000000000000000000000000000000000000000000000000000289ad8d367000000000000000000000000000000000000000000000000000000289acf0b38000000000000000000000000000000000000000000000000000000289b3da40000000000000000000000000000000000000000000000000000000000018ae7ce74d9fa252a8983976eab600dc7590c778d04813430841bc6e765c34cd81a168d00000000000000000000000000000000000000000000000000000000018ae7cb0000000000000000000000000000000000000000000000000000000064891c98000000000000000000000000000000000000000000000000000000000000000260412b94e525ca6cedc9f544fd86f77606d52fe731a5d069dbe836a8bfc0fb8c911963b0ae7a14971f3b4621bffb802ef0605392b9a6c89c7fab1df8633a5ade00000000000000000000000000000000000000000000000000000000000000024500c2f521f83fba5efc2bf3effaaedde43d0a4adff785c1213b712a3aed0d8157642a84324db0cf9695ebd27708d4608eb0337e0dd87b0e43f0fa70c700d911",
Copy link
Collaborator

Choose a reason for hiding this comment

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

Some comments here would be helpful, on how this report is generated and why 0x00028c915d6af0fd66bba2d0fc9405226bca8d6806333121a7d9832103d1563c can be static

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We need to ask @anirudhwarrier, I copied them from old test, but I do not know where these values origninated from


return fake.Func("GET", "/client", func(ctx *gin.Context) {
ctx.JSON(200, gin.H{
"chainlinkBlob": "0x0001c38d71fed6c320b90e84b6f559459814d068e2a1700adc931ca9717d4fe70000000000000000000000000000000000000000000000000000000001a80b52b4bf1233f9cb71144a253a1791b202113c4ab4a92fa1b176d684b4959666ff8200000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001004254432d5553442d415242495452554d2d544553544e4554000000000000000000000000000000000000000000000000000000000000000000000000645570be000000000000000000000000000000000000000000000000000002af2b818dc5000000000000000000000000000000000000000000000000000002af2426faf3000000000000000000000000000000000000000000000000000002af32dc209700000000000000000000000000000000000000000000000000000000012130f8df0a9745bb6ad5e2df605e158ba8ad8a33ef8a0acf9851f0f01668a3a3f2b68600000000000000000000000000000000000000000000000000000000012130f60000000000000000000000000000000000000000000000000000000000000002c4a7958dce105089cf5edb68dad7dcfe8618d7784eb397f97d5a5fade78c11a58275aebda478968e545f7e3657aba9dcbe8d44605e4c6fde3e24edd5e22c94270000000000000000000000000000000000000000000000000000000000000002459c12d33986018a8959566d145225f0c4a4e61a9a3f50361ccff397899314f0018162cf10cd89897635a0bb62a822355bd199d09f4abe76e4d05261bb44733d",
Copy link
Collaborator

Choose a reason for hiding this comment

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

The same here, it'd be good to comment on how we get this blob and why it's static

Copy link
Contributor Author

Choose a reason for hiding this comment

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

same here

@@ -0,0 +1,218 @@
package concurrency
Copy link
Collaborator

Choose a reason for hiding this comment

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

This and devenv/products/automation/concurrency/example_test.go, having in mind that we'll be using instant blocks and can control the mining speed, I think we need to review it with @anirudhwarrier after we prove the tests are stable, and maybe remove it to simplify the code base. We don't need to do it in the scope of this PR.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'd keep it as-is, because we know it works and removing it would mean quite a bit of work.

@skudasov skudasov self-requested a review January 23, 2026 15:54
@cl-sonarqube-production
Copy link

Quality Gate failed Quality Gate failed

Failed conditions
30.5% Duplication on New Code (required ≤ 10%)

See analysis details on SonarQube

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