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

[CCIP-2937] Fixes CCIP Tests and CI #14067

Closed
wants to merge 10,000 commits into from

Conversation

kalverra
Copy link
Collaborator

@kalverra kalverra commented Aug 7, 2024

No description provided.

jmank88 and others added 30 commits June 17, 2024 18:35
* try action with bitnami full index from GitHub

* try action with bitnami full index from GitHub

* bump CI action dep

* bump CI action dep
* Define and implement QueryKey Cursors

Cursors in the EVM implementation of QueryKey are constructed to match the current
default sorting in LogPoller using block number and log index. Using both of these
pieces of data together uniquely identifies a log within the LogPoller database.

* add tx hash to SQL query

* modify cursor query for accurate block and log querying
* Add TestOCRSoak_GasSpike test

* Refactor reorg start logic

* Start gas spike simulation after 1 min since test is 15 min long

* Add makefile

* Update CTF

* Add TestOCRSoak_ChangeBlockGasLimit test

* Bump CTF
* Validate that capabilities required by a Workflow DON are still supported

* Validate that capabilities required by a capabilities DONs are still supported

* --wip-- [skip CI]

* Create and return CapabilityInfo from getters

* Fix reader and syncer tests

* Changesets
* Fix QueryKey test case flakiness

* Handle Aptos not needing a CoreRelayerChainInteroperator
* In Memory Bridge Response

This commit adds a cache to the bridges ORM for responses and upserts responses async instead
of waiting for a database call to complete. Get requests for responses are lazy in that they
first look in the memory cache before querying the database.

* initialize internal values

* add tests and refactor constructor

* fix orm query

* addressed comments

* rename to remove 'Bridge'

* health report using CopyHealth

* remove 'Bridge

* remove bridge from test

* add BridgeCache to health tests

* fix data race

* results of make generate

* addressed comments

* simplify getting values from map

* make linter happy

* add logger to tests

* fix test

* address comments

* initialize logger before runner

* cleanup tests

* whitespace fix

* increase interval and default to SQL timeout
…ad938d4eef2ee337 (#13612)

* evm: Bump chainlink-common version to commit 6d926be950a6f6ca289a84edad938d4eef2ee337

* evm: Fix tests

* Fix default sorting order in dsl parser to match common test

---------

Co-authored-by: ilija <[email protected]>
* add new hook and make decode function

* updated tester to encode/decode config

* remove common replace

* mod tidy
…#13621)

* [chore] Add script to deploy CapabilityRegistry with hardcoded config

* gomodtidy
* remove EVMClient, ContractDeployer, etc

* remove actions_seth, move them to actions

* fix imports

* decouple docker env builder from evm client creation

* fix vrfv2/plus and lp tests

* fix log poller smoke tests

* remove Seth-related methods moved to CTF

* add fund return to docker tests

* add missing fund returns + cosmetic changes

* update seth readme
* verify contract when binding

* fix tests that rely on Bind

* fix len check

* change error to custom error

* add error test
* Added transaction status function for external components to use

* Added changeset and fixed linting

* Updated changeset

* Made internal error regex matching explicit

* Updated common client error list

* Defined a generalized tx error interface for chain agnostic compatibility

* Adjusted to align as close as possible with the ChainWriter interface

* Updated to align transaction status method to ChainWriter expectations

* Updated to use the TransactionStatus type from chainlink-common

* Simplified the TxError interface

* Updated FindTxWithIdempotencyKey to return error if no rows found

* Removed sql error checks outside of txstore

* Updated method signature to accept string instead of uuid

* Updated mocks

* Moved tx finality check to Confirmer and renamed fields

* Updated tx finalized check to consider re-orgs

* Fixed linting

* Removed finality from GetTransactionStatus method

* Cleaned out unused client method

* Rephrased comment to match others
* .github: reduce headings one level

* rm Ticket heading
* Add ocr soak test with rpc node down for some period

* Remove local replace from go mod tidy

* Cleanup

* Add Grafana annotation if configured

* Refactor

* Do not show error when chaos already deleted

* Bump ctf

* Update chainlink_node_funding

* Add tests to makefile

* Fix lint

* Fail test immediately if chaos cannot be created

* Fix

* Make forwarderFlow an opt

* Fix lint
…gin (#13582)

* SkipFlakey: TestIntegration_MercuryV2_Plugin

* SkipFlakey: TestIntegration_MercuryV1_Plugin

* Mark the right test 🙈
* relax subscriptionAPI pragma version

* add changeset
* try modified compatibility pipeline

* don't wait with matrix generation for image to be built

* fix outputs names

* use images instead of tags

* fix array population

* construct array differently

* fix & debug

* fix echos

* try running tests

* fix path

* fix paths and run command

* more tests + change names + slack notification fix

* test ignored tags, add more tests

* fix slack + more tests

* fix script

* fix ignored tags array

* add vrfv2plus tests, commenout out vrfv2 tests that always fail

* disable vrfv2plus tests for besu and nethermind, modify pipeline triggers

* adjust triggers

* another trigger update

* not trigger should work as expected

* fix again

* yet another fix + add keeper test

* debug 1

* debug 2

* fix output target

* try different condition

* here comes another one...

* fix da condition again, maybe forevah?

* another attempt

* fix yaml

* add go script to check whether new releases created N days ago, update pipeline

* a bit of debug

* fix bash expansion

* return latest tag from go script + get correct ref when building chainlink image depending on the trigger

* fix workflow add depedency

* fix chainlink version that's passed to build

* fix ... mistake

* use correct chainlink image tag in tests

* allow to pass evm implementations and image count in workflow dispatch

* support for custom test/evm implementation/versions input

* fix custom input parsing

* use go script to get latest images, another fix of input decoding

* fix workflow conditions

* further fix the workflow

* remove one more invalid comment

* remove profile from latest_images script

* set aws region from secret

* modify latest images script, so that it ignored tags don't count towards latest images number

* add tests to compatibility script

* refactor latest images and add tests

* add tests for new_release script

* run only Link Billing vrfv2plus test

* fix latest images script

* Add one more test

* fix vrfv2plus regex

* use semver matching when fetching latest images

* fix constraints + warning message

* do not fail slack notification if not all products run

* more tests + variable to force check if image exists

* fix workflow lints

* remove scripts, use CLI tools from CTF

* add go/bin to path

* fix path

* bump go-ethereum to test the pipeline

* bump correct go.mod

* restore go-ethereum version, remove bash script, update compatibility pipeline

* fix pipeline

* remove evm compatiblity json

* add changeset

* fix changeset

* try success() instead of always()

* fix commit selection for workflow_dispatch

* run tests only if build-chainlink succeeds

* WIP: print aggregated results

* try result parsing scripts

* fix needs + script cmd

* run small test

* run small test 2

* fix typos

* do not save empty results

* fix file location + early exit

* do not panic if key is not present

* add concurrency guard

* fix output file name

* fix passing of table

* fix thread link

* fix result printing

* exit early if no results are found

* try wrapping summary table in markdown

* try what happens if there are no results

* fix slack notification part

* remove invalid character

* get results of current workflow

* print results of cron, runlog and flux tests as well + test newer tool version

* do not panic if there no results

* fix aggregated results printing condition

* do not output null, if there are no results

* early exit for asciitable

* remove debug from the pipeline

* check if base64 input is valid

* fix the json validity check

* provide valid json example

* try again with valid example

* fix indentation

* remove whitespaces before and after EOF

* use standalone tools in compat pipeline, modify notify action to also use them

* fix tool name + var name

* fix syntax + use newer asctiitable version

* fix tool name

* save results to input.json

* fix regex passed to notify job

* another slack notification fix

* do not post anything for skipped tests

* do not post, if there are no results

* remove incorrect line

* bump asciitable version

* remove comment

* remove unused action

* adjust live testnets workflow's regex to match new format expected by notify slack job

* bump down go-ethereum in tests

* bump down go-ethereum in core/scripts
@cl-sonarqube-production
Copy link

Quality Gate failed Quality Gate failed

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

See analysis details on SonarQube

@kalverra kalverra force-pushed the ccip-merge-e2e-tests-fixes branch from 8c0d7e0 to ffaa121 Compare August 7, 2024 20:11
@kalverra kalverra requested review from a team, RensR and austinborn as code owners August 7, 2024 20:11
@kalverra kalverra requested a review from a team August 7, 2024 20:11
@kalverra kalverra marked this pull request as draft August 7, 2024 20:12
@kalverra kalverra closed this Aug 7, 2024
@kalverra kalverra deleted the ccip-merge-e2e-tests-fixes branch August 7, 2024 21:33
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.