Skip to content

Commit

Permalink
Merge branch 'develop' into chore/cleanup-ci-core
Browse files Browse the repository at this point in the history
  • Loading branch information
erikburt committed Dec 20, 2024
2 parents 4a6d1ba + 30b857b commit 037ecdb
Show file tree
Hide file tree
Showing 523 changed files with 9,754 additions and 9,275 deletions.
5 changes: 5 additions & 0 deletions .changeset/eighty-geckos-switch.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": patch
---

Reduce PriceMin on Avalanche to 1 gwei #nops
5 changes: 5 additions & 0 deletions .changeset/mean-ravens-stare.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": patch
---

#internal add versioned geth wrappers for keystone prod contracts
5 changes: 5 additions & 0 deletions .changeset/metal-houses-approve.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": minor
---

Added TxExpirationRebroadcast feature and config for Solana TXM. #added
5 changes: 5 additions & 0 deletions .changeset/shaggy-carpets-deliver.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": minor
---

#removed dead transmission tests
5 changes: 5 additions & 0 deletions .changeset/sour-hairs-cross.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": patch
---

#internal depreciate keystone deployment library
5 changes: 5 additions & 0 deletions .changeset/wild-cats-think.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": minor
---

Added the `EVM.Transactions.Enabled` config to enable or disable the transaction manager. #added
2 changes: 1 addition & 1 deletion .github/workflows/ci-core-partial.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Core Unit Tests
name: Experimental Test Optimization

on:
push:
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/ci-flakes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,9 @@ jobs:
secrets:
SLACK_BOT_TOKEN: ${{ secrets.QA_SLACK_API_KEY }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

FLAKEGUARD_SPLUNK_ENDPOINT: ${{ secrets.FLAKEGUARD_SPLUNK_ENDPOINT }}
FLAKEGUARD_SPLUNK_HEC: ${{ secrets.FLAKEGUARD_SPLUNK_HEC }}

trigger-flaky-test-detection-for-deployment-project:
name: Flakeguard Deployment Project
uses: ./.github/workflows/flakeguard.yml
Expand All @@ -64,3 +66,5 @@ jobs:
secrets:
SLACK_BOT_TOKEN: ${{ secrets.QA_SLACK_API_KEY }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
FLAKEGUARD_SPLUNK_ENDPOINT: ${{ secrets.FLAKEGUARD_SPLUNK_ENDPOINT }}
FLAKEGUARD_SPLUNK_HEC: ${{ secrets.FLAKEGUARD_SPLUNK_HEC }}
3 changes: 2 additions & 1 deletion .github/workflows/flakeguard-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,5 @@ jobs:
secrets:
SLACK_BOT_TOKEN: ${{ secrets.QA_SLACK_API_KEY }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

FLAKEGUARD_SPLUNK_ENDPOINT: ${{ secrets.FLAKEGUARD_SPLUNK_ENDPOINT }}
FLAKEGUARD_SPLUNK_HEC: ${{ secrets.FLAKEGUARD_SPLUNK_HEC }}
3 changes: 2 additions & 1 deletion .github/workflows/flakeguard-on-demand.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,4 +69,5 @@ jobs:
secrets:
SLACK_BOT_TOKEN: ${{ secrets.QA_SLACK_API_KEY }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

FLAKEGUARD_SPLUNK_ENDPOINT: ${{ secrets.FLAKEGUARD_SPLUNK_ENDPOINT }}
FLAKEGUARD_SPLUNK_HEC: ${{ secrets.FLAKEGUARD_SPLUNK_HEC }}
44 changes: 31 additions & 13 deletions .github/workflows/flakeguard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ on:
repoUrl:
required: true
type: string
default: 'https://github.com/smartcontractkit/chainlink'
description: 'The URL of the repository to compare changes for detecting flaky tests.'
projectPath:
required: true
Expand Down Expand Up @@ -54,6 +55,12 @@ on:
required: false
GH_TOKEN:
required: true
FLAKEGUARD_SPLUNK_ENDPOINT:
description: "The Splunk HTTP Event Collector (HEC) endpoint."
required: true
FLAKEGUARD_SPLUNK_HEC:
description: "The Splunk HTTP Event Collector (HEC) token."
required: true

env:
GIT_BASE_REF: ${{ inputs.baseRef }}
Expand Down Expand Up @@ -116,14 +123,15 @@ jobs:
echo "git_base_sha=" >> $GITHUB_OUTPUT
fi
- name: Set up Go 1.21.9
uses: actions/setup-go@v5.0.2
- name: Setup Go
uses: ./.github/actions/setup-go
with:
cache: false
restore-build-cache-only: "true"

- name: Install flakeguard
if: ${{ inputs.runAllTests == false }}
shell: bash
run: go install github.com/smartcontractkit/chainlink-testing-framework/tools/flakeguard@ea4ffd8c51ce02efebf5ea6bca503fe10b6cee92 # [email protected]
run: go install github.com/smartcontractkit/chainlink-testing-framework/tools/flakeguard@7c45cff27ac6b0d4244754660661cdbfcfaf2f9e # [email protected]

- name: Find new or updated test packages
if: ${{ inputs.runAllTests == false }}
Expand Down Expand Up @@ -282,7 +290,7 @@ jobs:

- name: Install flakeguard
shell: bash
run: go install github.com/smartcontractkit/chainlink-testing-framework/tools/flakeguard@ea4ffd8c51ce02efebf5ea6bca503fe10b6cee92 # [email protected]
run: go install github.com/smartcontractkit/chainlink-testing-framework/tools/flakeguard@7c45cff27ac6b0d4244754660661cdbfcfaf2f9e # [email protected]

- name: Run tests with flakeguard
shell: bash
Expand Down Expand Up @@ -310,6 +318,10 @@ jobs:
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
with:
ref: ${{ env.GIT_HEAD_REF }}
- name: Setup Go
uses: ./.github/actions/setup-go
with:
restore-build-cache-only: "true"

- name: Set Pretty Project Path
id: set_project_path_pretty
Expand All @@ -329,7 +341,7 @@ jobs:

- name: Install flakeguard
shell: bash
run: go install github.com/smartcontractkit/chainlink-testing-framework/tools/flakeguard@ea4ffd8c51ce02efebf5ea6bca503fe10b6cee92 # [email protected]
run: go install github.com/smartcontractkit/chainlink-testing-framework/tools/flakeguard@7c45cff27ac6b0d4244754660661cdbfcfaf2f9e # [email protected]

- name: Aggregate Flakeguard Results
id: results
Expand All @@ -354,7 +366,11 @@ jobs:
--repo-url "${{ inputs.repoUrl }}" \
--base-sha "${{ needs.get-tests.outputs.git_base_sha }}" \
--head-sha "${{ needs.get-tests.outputs.git_head_sha }}" \
--github-workflow-name "${{ github.workflow }}"
--github-workflow-name "${{ github.workflow }}" \
--github-workflow-run-url "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
--splunk-url "${{ secrets.FLAKEGUARD_SPLUNK_ENDPOINT }}" \
--splunk-token "${{ secrets.FLAKEGUARD_SPLUNK_HEC }}" \
--splunk-event "${{ github.event }}"

# Print out the summary file
echo -e "\nFlakeguard Summary:"
Expand All @@ -365,23 +381,23 @@ jobs:
echo "summary=$summary" >> $GITHUB_OUTPUT

- name: Upload All Test Results as Artifact
if: ${{ fromJSON(steps.results.outputs.summary).total_tests > 0 }}
if: ${{ (success() || failure()) && fromJSON(steps.results.outputs.summary).total_tests > 0 }}
uses: actions/[email protected]
with:
path: ./flakeguard-report/all-test-results.json
name: all-test-results.json
retention-days: 90

- name: Upload Failed Test Results as Artifact
if: ${{ fromJSON(steps.results.outputs.summary).failed_runs > 0 }}
if: ${{ (success() || failure()) && fromJSON(steps.results.outputs.summary).failed_runs > 0 }}
uses: actions/[email protected]
with:
path: ./flakeguard-report/failed-test-results.json
name: failed-test-results.json
retention-days: 90

- name: Upload Failed Test Results With Logs as Artifact
if: ${{ fromJSON(steps.results.outputs.summary).failed_runs > 0 }}
if: ${{ (success() || failure()) && fromJSON(steps.results.outputs.summary).failed_runs > 0 }}
uses: actions/[email protected]
with:
path: ./flakeguard-report/failed-test-results-with-logs.json
Expand All @@ -390,6 +406,7 @@ jobs:

- name: Generate Flakeguard Reports
shell: bash
if: success() || failure()
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
run: |
Expand Down Expand Up @@ -432,6 +449,7 @@ jobs:
fi

- name: Add Github Summary
if: (success() || failure())
run: |
FILE_SIZE=$(wc -c < ./flakeguard-report/all-test-summary.md)
echo "File size: $FILE_SIZE bytes"
Expand All @@ -446,7 +464,7 @@ jobs:
fi
- name: Post comment on PR if flaky tests found
if: ${{ fromJSON(steps.results.outputs.summary).flaky_tests > 0 && github.event_name == 'pull_request' }}
if: ${{ (success() || failure()) && fromJSON(steps.results.outputs.summary).flaky_tests > 0 && github.event_name == 'pull_request' }}
uses: actions/github-script@v7
continue-on-error: true
with:
Expand All @@ -463,7 +481,7 @@ jobs:
});
- name: Send Slack message for failed tests
if: ${{ inputs.slackNotificationAfterTestsChannelId != '' && fromJSON(steps.results.outputs.summary).flaky_tests > 0 }}
if: ${{ (success() || failure()) && inputs.slackNotificationAfterTestsChannelId != '' && fromJSON(steps.results.outputs.summary).flaky_tests > 0 }}
uses: slackapi/slack-github-action@6c661ce58804a1a20f6dc5fbee7f0381b469e001 # v1.25.0
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
Expand Down Expand Up @@ -516,7 +534,7 @@ jobs:
- name: Send general Slack message
uses: slackapi/slack-github-action@6c661ce58804a1a20f6dc5fbee7f0381b469e001 # v1.25.0
if: ${{ inputs.slackNotificationAfterTestsChannelId != '' && fromJSON(steps.results.outputs.summary).flaky_tests == 0 && fromJSON(steps.results.outputs.summary).total_tests > 0 }}
if: ${{ (success() || failure()) && inputs.slackNotificationAfterTestsChannelId != '' && fromJSON(steps.results.outputs.summary).flaky_tests == 0 && fromJSON(steps.results.outputs.summary).total_tests > 0 }}
id: slack
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/solidity-foundry-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ on:
- "llo-feeds"
- "operatorforwarder"
- "shared"
- "transmission"
- "vrf"
- "workflow"
commit_to_use:
Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/solidity-foundry.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ jobs:
{ "name": "llo-feeds", "setup": { "run-coverage": true, "min-coverage": 49.3, "run-gas-snapshot": true, "run-forge-fmt": false }},
{ "name": "operatorforwarder", "setup": { "run-coverage": true, "min-coverage": 55.7, "run-gas-snapshot": true, "run-forge-fmt": false }},
{ "name": "shared", "setup": { "run-coverage": true, "extra-coverage-params": "--no-match-path='*CallWithExactGas*' --ir-minimum", "min-coverage": 32.6, "run-gas-snapshot": true, "run-forge-fmt": false }},
{ "name": "transmission", "setup": { "run-coverage": true, "min-coverage": 61.5, "run-gas-snapshot": true, "run-forge-fmt": false }},
{ "name": "vrf", "setup": { "run-coverage": false, "min-coverage": 98.5, "run-gas-snapshot": false, "run-forge-fmt": false }},
{ "name": "workflow", "setup": { "run-coverage": true, "extra-coverage-params": "--ir-minimum", "min-coverage": 96.0, "run-gas-snapshot": true, "run-forge-fmt": true }}
]
Expand Down Expand Up @@ -112,8 +111,6 @@ jobs:
- 'contracts/src/v0.8/mocks/**/*.sol'
- 'contracts/src/v0.8/tests/**/*.sol'
- 'contracts/src/v0.8/vendor/**/*.sol'
transmission:
- 'contracts/src/v0.8/transmission/**/*.sol'
workflow:
- 'contracts/src/v0.8/workflow/**/*.sol'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/solidity-hardhat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
with:
filters: |
src:
- 'contracts/src/!(v0.8/(ccip|functions|keystone|l2ep|liquiditymanager|llo-feeds|transmission|vrf|workflow)/**)/**/*'
- 'contracts/src/!(v0.8/(ccip|functions|keystone|l2ep|liquiditymanager|llo-feeds|vrf|workflow)/**)/**/*'
- 'contracts/test/**/*'
- 'contracts/package.json'
- 'contracts/pnpm-lock.yaml'
Expand Down
5 changes: 2 additions & 3 deletions ccip/config/evm/Avalanche_Fuji.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@ RPCBlockQueryDelay = 2
NoNewFinalizedHeadsThreshold = '1m'

[GasEstimator]
PriceDefault = '25 gwei'
PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
PriceMin = '25 gwei'
PriceMin = '1 gwei'
PriceDefault = '1 gwei'

[GasEstimator.BlockHistory]
BlockHistorySize = 24
Expand Down
5 changes: 2 additions & 3 deletions ccip/config/evm/Avalanche_Mainnet.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@ RPCBlockQueryDelay = 2
NoNewFinalizedHeadsThreshold = '1m'

[GasEstimator]
PriceDefault = '25 gwei'
PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
PriceMin = '25 gwei'
PriceMin = '1 gwei'
PriceDefault = '1 gwei'

[GasEstimator.BlockHistory]
# Average block time of 2s
Expand Down
1 change: 0 additions & 1 deletion common/client/transaction_sender_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,6 @@ func TestTransactionSender_SendTransaction(t *testing.T) {
_, txSender = newTestTransactionSender(t, chainID, logger.Test(t),
[]Node[types.ID, TestSendTxRPCClient]{fastNode, slowNode},
[]SendOnlyNode[types.ID, TestSendTxRPCClient]{slowSendOnly})

})
t.Run("Returns error if there is no healthy primary nodes", func(t *testing.T) {
chainID := types.RandomID()
Expand Down
10 changes: 10 additions & 0 deletions contracts/.changeset/cold-geckos-yawn.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
'@chainlink/contracts': minor
---

Remove dead transmission code


PR issue: CM-661

Solidity Review issue: CM-662
10 changes: 10 additions & 0 deletions contracts/.changeset/tame-cycles-ring.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
'@chainlink/contracts': patch
---

enable via-ir in CCIP compilation


PR issue: CCIP-4656

Solidity Review issue: CCIP-3966
10 changes: 10 additions & 0 deletions contracts/.changeset/violet-lamps-pump.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
'@chainlink/contracts': patch
---

Create a new version of the ERC165Checker library which checks for sufficient gas before making an external call to prevent message delivery issues. #bugfix


PR issue: CCIP-4659

Solidity Review issue: CCIP-3966
1 change: 0 additions & 1 deletion contracts/.solhintignore-test
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
./src/v0.8/tests
./src/v0.8/llo-feeds/
./src/v0.8/automation/
./src/v0.8/transmission/
./src/v0.8/l2ep/
./src/v0.8/shared/
./src/v0.8/operatorforwarder/
Expand Down
2 changes: 1 addition & 1 deletion contracts/GNUmakefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ALL_FOUNDRY_PRODUCTS contains a list of all products that have a foundry
# profile defined and use the Foundry snapshots.
ALL_FOUNDRY_PRODUCTS = ccip functions keystone l2ep liquiditymanager llo-feeds operatorforwarder shared transmission workflow
ALL_FOUNDRY_PRODUCTS = ccip functions keystone l2ep liquiditymanager llo-feeds operatorforwarder shared workflow

# To make a snapshot for a specific product, either set the `FOUNDRY_PROFILE` env var
# or call the target with `FOUNDRY_PROFILE=product`
Expand Down
19 changes: 12 additions & 7 deletions contracts/foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,23 @@ multiline_func_header = "params_first"
sort_imports = true
single_line_statement_blocks = "preserve"

# This profile should be used for testing CCIP locally and in CI.
[profile.ccip]
solc_version = '0.8.24'
solc_version = '0.8.26'
src = 'src/v0.8/ccip'
test = 'src/v0.8/ccip/test'
evm_version = 'paris'
optimizer_runs = 500

# This profile should be used prior to any release to ensure the tests are passing with via-ir enabled. Enabling via-ir
# locally or in CI will slow down the compilation process, so it is not recommended to use it for everyday development.
[profile.ccip-viair]
solc_version = '0.8.26'
src = 'src/v0.8/ccip'
test = 'src/v0.8/ccip/test'
evm_version = 'paris'
optimizer_runs = 800
via_ir = true

[profile.functions]
solc_version = '0.8.19'
Expand Down Expand Up @@ -85,12 +96,6 @@ solc_version = '0.8.19'
src = 'src/v0.8/operatorforwarder'
test = 'src/v0.8/operatorforwarder/test'

[profile.transmission]
optimizer_runs = 1_000_000
solc_version = '0.8.19'
src = 'src/v0.8/transmission'
test = 'src/v0.8/transmission/test'

[profile.workflow]
optimizer_runs = 1_000_000
solc_version = '0.8.24'
Expand Down
Loading

0 comments on commit 037ecdb

Please sign in to comment.