Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release/2.9.0 -> master #12148

Closed
wants to merge 221 commits into from
Closed

release/2.9.0 -> master #12148

wants to merge 221 commits into from

Conversation

snehaagni
Copy link
Contributor

@snehaagni snehaagni commented Feb 22, 2024

anirudhwarrier and others added 30 commits December 4, 2023 10:49
* add automation node upgrade test to nightly CI

* increase nodes to 6 for upgrade test
* fix automation-nightly-test

* add notification

* fix test-results
* ignore old automation & fix minor vrf

* add more ignore and fix various non-automation

* fix gas diff
* remove pkgerrors dependency from common pkg

* fix naming inconsistencies

* clean up error return

* clean up error return and remove use of Unwrap
* Extract mathutil

* Fix dependencies
* Check if ECR image exists before trying to publish

* Fix role to use correct secret
#11445)

* VRF-782: Fix setup-env script in order to include flag for deploying VRFOwner contract

* Update main.go

* VRF-782: Fix setup-env script to create ETH key

---------

Co-authored-by: Sri Kidambi <[email protected]>
* Improve OperatorFactory deployNewOperatorAndForwarder natspec

* Change to fwds distributeFunds to use call
* Create auto-update.yml

* Ignore merge conflicts
* [TT-755] Bump core results output filter

* bump to merged action version
* Implement skeleton interfaces, structs, & methods for ChainReader EVM POC

- Read ChainReader config in from RelayConfig
- Add some initialization and validation relay skeletons

- Use medianProviderWrapper instead of passing medianContract separately

This avoids us having to modify the signature of NewMedianFactory, which
would require further modifications to all non-evm repos and chainlink-relay

- Add chain_reader_test.go with some basic relay tests

Co-authored-by: Jordan Krage <[email protected]>

- Add chain reader config validation
- Add chain reader config validation tests
- Add config for chain reader median contract to cr validation testcases
- Add unimplemented Encode(), Decode(), GetMaxEncodingSize(), GetMaxDecodingSize()
- Add ChainReader() method to mock provider for plugin test
- Rename relaymercury.ChainReader to MercuryChainReader, resolve name collisions
- Add tests for errors during ChainReader construction
- Propagate InvalidConfig & any other errors back to client

We should ignore Unimplemented until node ops have been given ample time to migrate to the new job spec
(including a section for ChainReader config) so that we can remove the old product-specific
MedianContract component from MedianProvider. All other errors we can immediately start passing back
to the client, letting the core node decide how to handle them (eg. displaying an "invalid job spec"
message to the UI if the RelayConfig was invalid or the ContractID missing)

* Update relay versions

* Simplify chain reader config validation

* Update commit hashes one final time now that all relays are merged.

---------

Co-authored-by: ilija <[email protected]>
* Include ServerURL in cache logging

* Add additional cache tracing

* TEMP - DO NOT MERGE THIS - promote Trace=>Debug cache logging

* Log if call was cached or not

* Revert "TEMP - DO NOT MERGE THIS - promote Trace=>Debug cache logging"

This reverts commit f0f3f07a59c8d310ac74849519d46ea9b53495c1.
* fix: do not emit AddedAccess if the recipient already had access & minor doc improvements

* chore: save gas by avoiding declaring a new var
* Adds A Lot More Networks for Testnet Tests

* TT-523

* Enable new network definitions

* Clean up reporting

* Fix success indicator

* Roll-back CTF version

* Debug color

* Linea contract loader

* Reverse time further

* tidy

* Fix slack colors

* Fixes markdown formatting

* Fix kuberesolver

* Kuberesolver v4

* Tidy

* Valid slack blocks

* Update CTF

* New contract loaders

* Fixed contracts and some URLs

* Change schedule

* Debug

* Knocking problems down

* Fixed CELO funding

* More Cash

* Smaller runner

* Update actions

* Build Tests

* Fix runner sizes

* Compiled Tests

* Control

* Update CTF

* Network name

* Fix selected networks

* Moar Cash

* Contract Loader

* Deprecate Arbitrum Goerli

* Upgrade CTF

* Fix compile

* Enable Scroll

* Fix dependencies

* Add mockserver logs

* Increase timeout

* Remove debug

* Update CTF

* Update Automation Tests

* Fix name regex

* Actually fix regex

* Complete merge
* move root parts to build inside container

* update README + add more resources to the build node
…eLastProcessedBlock and getUnfulfilled (#11472)

* Test VRF LogPoller functionality- initializeLastProcessedBlock, updateLastProcessedBlock and getUnfulfilled

* Addressed PR comments

* Minor change

* Add comments to explain replay

* Addressed PR comments

* Prettier
* testing out with local CTF

* print location for failed tests

* use logwatch with buffer

* try logwatch with loki and test targets in CI

* fix merge conflict

* fix lint issue

* adjust env vars in workflow

* add logwatch env vars as env and not with

* fix env var name

* fix go.mod

* use newer ctf

* fix go.sum

* use correct ctf version

* fix go.sum

* trigger tests

* small debug

* make the Gh summary print a bit nicer

* latest ctf, use var not secret for grafana url

* update ctf, change how we print test summary

* shutdown logwatch after flushing logs

* trigger tests

* use latest ctf where logwatch -> logstream

* update var name in GH workflow

* enable log stream for all smoke tests

* use better method for logstream shutdown and log flushing

* fix compile error

* latest ctf, remove comment

* remove replace from go.mod

* collect all logs to see what happens

* update ctf, better scoped dashboard link

* do not save logs if test doesn't fail

* print absolute log folder path

* cause test failure to make sure file logs are where they should be

* fix typo in var declaration in gh workflow

* run go mod tidy for integeration tests

* always execute test summary step

* remove failing vrfv2 test on purpose

* use taggeg CTF version

* connect mock adapter to logstream

* initialise killgrave only when necessary
…ts (#11517)

* (test): Remove unnecessary fuzzing from Functions OnTokenTransfer tests

* Update gas snapshot
shileiwill and others added 28 commits January 24, 2024 00:05
)

* adds zero value address check to ScrollSequencerUptimeFeed _setL1Sender helper function

* adds zero address check for l2CrossDomainMessenger

* adds more descriptive error messages to custom ZeroAddress error

* removing additional msg field from ZeroAddress error

* Adds zero address checks for ScrollSequencerUptimeFeed

* removes L1 zero address check and removes unnecessary encodeWithSelector calls

* updates gas snapshot
* WIP#1

* WIP#2

* WIP#3

* WIP#4

* WIP#5

* WIP#6

* wIP#7 - overrides and validations for vrfv2

* wIP#8 - overrides and validations for vrfv2lus

* WIP#9 - adjust vrfv2/plus default configs

* fix test config test, add logger to it

* smoke tests should work now

* fix replace, fix workflow

* try to remove newlines from base64

* update ctf version, fix line wrap

* use newer version of ctf, fix log poller and workflow issues

* expand selected networks to array

* fix vrfv2 smoke test, mask baseb4 override

* define base64 override before masking it

* a couple of masks more

* set some content for BASE64_CONFIG_OVERRIDE so that it's masked

* remove masks that break toml config

* experiment with base64 #1

* fix ocr2 smoke test

* fix lints

* baseb4 experiment #2

* base64 experiment #3

* hardcode some image

* exp#5

* fail config test on purpose

* fix lints

* run all smoke tests

* add missing test config to ocr2 test

* add missing loki_url

* remove old config files, set config override for remote runner

* fix compile errors

* fix lint

* make the vrfv2plus name in test matrix unique

* fix loki env config, adjust vrfv2 and vrfv2plus tests and configs

* add TOML-specific overriding of CL image/version in k8s

* fixed automation load test

* couple small fixes to how helm is created

* remove multiple config files, store all config versions in single product-specific toml file

* go.mod

* restore deleted test, fix vrfv2 smoke tests

* fix vrfv2plus config validation

* properly fix vrfv2plus smoke test

* fix loki basic auth passing

* add add-mask again to base64

* remove obsolete configs, use latest ctf, adjust tomls

* try another base64 hiding

* go.sum

* fix loki compile issue

* try base64 env var with _SECRET suffix

* try yet another variable name

* restore old env var name

* another obscuring attempt

* another attempt

* use newer CTF version, check what env vars are forwaded to k8s

* go.sum

* updated to latest ctf

* try on demand autonation test with base64 input

* modify all other test workflows so that they use TOML config

* update reamdes, example envs and some more workflows

* uncomment solana tests

* update to latest ctf

* update to latest ctf

* go.mod

* add MustCopy() method to TestConfig, fix failing vrvf2plus test

* fix duration usages

* fix lints

* added examples of full configs for each product

* use latest ctf

* simplify some examples, correct client compatibility workflow

* go.mod

* copy TOML configs before executing test binary in compatibility job

* use bash not sh to run the script, add missing patterns

* chmod script and run it

* add debug

* print vars before checking their number

* another debug attempt

* try double quotes

* store script and run that

* fix script formatting

* fix correct script 🤦

* fix zip command

* fix upload artifact path

* add some debug

* update tracing readme, use latest ctf

* latest ctf

* lastest ctf

* check what is the config missing

* add missing pyrscope enabled var

* remove debug

* don't notify Adam if eth client compatibility test fail

* latest ctf, faster eth2 chain by default

* latest ctf, slots per epoch = 2

* go.sum

* move convert_to_toml_array() bash function to a file and import it in GHA workflows instead of constantly defining before using

* provide default configs to live testnet tests that use test binary

* pass network config between jobs correctly

* set .root_dir for live testnet job

* try passing

* try with defined output

* define correct output for build-tests job

* fix value name

* debug

* 2x base64

* try with shorter variable

* add network config to dynamic config

* include shared function

* embed toml configs when build tag is present

* test passing shared functions as outputs

* update action version

* remove newline from base64

* newer gha

* fix log poller path, adjust client compatibility test to not copy tomls

* debug

* once more

* do not use shared function

* use correct network toml key for sepolia

* fix dynamic toml

* fix tomls

* fix sepolia endpoint, uncomment slack notifications

* remove outputs shared function from clients compatibility tests

* fix alfajores once and for all

* use newer gha to build tests

* don't fail if there's no embedded config

* remove tests we don't need anymore

* use commit from main version of GHA repository instead of branch commit for build tests action

* simplify config overriding

* fix go.mod

* remove ApplyOverride() and fix compile issue

* fix lint

* try base64 value extraction

* try anothe approach

* yet another attempt

* yet another attempt 2

* fix base64 from input

* one more time with final config

* last test

* make automation-ondemand test more secure, remove debug from on-demand-vrfv2-performance-test.yml

* uncommet test execution in vrfv2 performance workflow

* use private eth networks instead of geth in vrf load tests

* update TOML keys related to Loki and Grafana

* by default use pow, not pos

* go.mod

* latest ctf

* remove references to deleted performance test suite

* don't require Loki config when using remote runner

* latest ctf

* add Load config and figure out overrides

* append loki config to ocr soak test on demand job

* embed test configs and create .root_dir, when building test image

* define an interface for global test config

* move interface to testconfig

* set pyroscope env for cron

* fix check for remote running

* bump CTF

* use interfaces in public methods instead of TestConfig

* small adjustments

* fix test env builder

* fix automation config type cast

* use latest ctf

* add special handling for slice override for Automation

* update examples

* slightly adjust vrfv2 configs, remove default empty values

* move creation of base64 config override env var in smoke tests to a GHA action

* fix compile error

* debug for ocr test, camelcase for base64 action, two new actions to reduce loc

* checkout repo before accessing actions

* remove unnecessary test config instance from ocr test

* mask before using input, more ocr debug

* remove debug, fix reading named configurations from base64 override

* mask input before using merge base64 action

* fix integration tests workflow

* update default.toml, add action for live testnet tests

* download test binary after creating base64 env var

* fix missing log targets

* comment out reporting part

* reuse live testnets specific action

* fix network names

* use dynamic network key

* fix automation tests (#11815)

* fix automation benchmark test action

* update default toml

* try newer run tests action

* another try

* look for .root_dir even deeper

* Update integration-tests/benchmark/keeper_test.go

* Update integration-tests/test.Dockerfile

---------

Co-authored-by: Bartek Tofel <[email protected]>

* fix chain config for eth2 compatibility tests

* replace in-workflow toml generation for CL version upgrade tests with GH action

* make test timeout configurable in client compatbility tests

* prepare base64 config for log poller matrix tests

---------

Co-authored-by: Ilja Pavlovs <[email protected]>
Co-authored-by: skudasov <[email protected]>
Co-authored-by: Gheorghe Strimtu <[email protected]>
Co-authored-by: Anirudh Warrier <[email protected]>
* core/plugins: add per-plugin env vars

* Adding coverage (#11851)

* add TestIntegration_OCR2_plugins behind build tag; swap in freeport for fixed const

---------

Co-authored-by: Patrick <[email protected]>
* feat: add allowlist cache layer migration

* feat: add getAllowedSendersInRange and getAllowedSendersCount methods for Tos

* feat: iterate over allowlist contract response, load and update allowlist

* feat: reduce gas by removing mapping and using EnumerableSet .length() and .at() methods

* feat: implement orm level for allowlist

* fix: fix iteration loop and add tests

* fix: correct var naming, zero indexing array, doc

* chore: rename cache to stored, split batchSize onchain vs stored

* fix: remove id from allowlist primary key, use it only for ordering

* feat: store allowlist in batches

* chore: correct CreateAllowedSenders naming

* chore: CreateAllowedSenders in main routine

* fix: add a trottle to prevent RPC rate limiting

* chore: split orm in subscriptions and allowlist pkgs

* feat: put the new functionality under a feature flag

* fix: fix subscriptions consumers address

* fix: store only on feature enable to prevent blocked addresses not being sync

* chore: rename CachedSubscriptions to StoredSubscriptions

* feat: implement GetBlockedSendersInRange and GetBlockedSendersCount in tos contract

* feat: implement sync of blocked senders with allowed

* chore: add checks and table constraints

* chore: methods renaming

* chore: correct log and var name
* Parallel

* Re-enable tests
* TT-756

* Better failing for soak tests
* run compatibility tests also in nethermind

* use latest ctf

* check if a stronger machine fixes issues with erigon

* run max 2 tests in parallel on free runner

* run only ocrv2 plugins test

* Update .github/workflows/client-compatibility-tests.yml

Co-authored-by: Adam Hamrick <[email protected]>

---------

Co-authored-by: Adam Hamrick <[email protected]>
* Revert "make streams lookup modular (#11368)" (#11482)

This reverts commit fa0f16a.

* core/services/relay/evm: start RequestRoundTracker; report full health (#11643)

* core/services/relay/evm: start RequestRoundTracker; report full health

* Tests round requests and implicit changes separately

* Add test to CI

* Fixes other OCR2 checks

---------

Co-authored-by: Adam Hamrick <[email protected]>
(cherry picked from commit 7236361)

* Document metrics renaming

* Hotfix attempt for Canary : v2.8.0-rc0 upgrade fails on Polygon. (#11828) (#11839)

* Remove start lock + add logging

* Add loggs

* Update tracker.go

* Update tracker.go

* Update common/txmgr/txmgr.go

Co-authored-by: Jordan Krage <[email protected]>

* Update logging

---------

Co-authored-by: Jordan Krage <[email protected]>
(cherry picked from commit 6133df8)

* Temporarily disable tracker (#11857)

* Disable tracker

* Remove all tracker calls

(cherry picked from commit 5057899)

* Update CHANGELOG.md

* Update docs/CHANGELOG.md

Co-authored-by: Jordan Krage <[email protected]>

* Finalize date on changelog for 2.8.0 (#11881)

---------

Co-authored-by: Lei <[email protected]>
Co-authored-by: Jordan Krage <[email protected]>
Co-authored-by: Dmytro Haidashenko <[email protected]>
Co-authored-by: Dylan Tinianov <[email protected]>
Co-authored-by: Dylan Tinianov <[email protected]>
* add skipReorgProtection feature flag in registry 2.2

* update tests

* fix lint error

* fix tests and add docs

* remove unused param

* prettier

* update

* prettier

* put the boolean in hot vars

* run prettier

* rename

* gen wrappers

* add foundry test for 2.2

* fix tests

* remove only

* remove unnecessary change
)

* VRF-858: small refactoring - rename CTF VRF V2 and V2.5 packages

* VRF-858: small refactoring - rename VRF v3 packages

* VRF-858: increasing parallelization for vrf v2 runner in GHA integration-tests.yml

* Revert "VRF-858: small refactoring - rename VRF v3 packages"

This reverts commit 55f4745.

* fixing deadlock when waiting for force fulfilment
Previously, running "make chainlink" and similar commands used to be able to rebuild the chainlink executable.
That stopped working recently, after some dependency changes. This will allow it to rebuild without needing
to explicitly run "rm chainlink" each time you modify the source code or change branches.
* fix automation load test - pyroscope config

* TTL of test based on load duration

* fix automation load test - pyroscope config

* remove duplicate config

* remove whitespace

* fix nightly test action

* fix nightly test action
* Updates GitHub Action to Fixed Version

* look for test summary in current directory

* list directories before running test summary

* remove whitespaces from actions, update ctf to 1.23.2, fix a typo in TOML config

---------

Co-authored-by: Adam Hamrick <[email protected]>
…-rpc

do not call an RPC if it's not Alive (#11999)
…changelog-2.9.0

Finalize date on changelog for 2.9.0
@snehaagni
Copy link
Contributor Author

Closing in favor of : #12346

@snehaagni snehaagni closed this Mar 14, 2024
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.