Skip to content

Commit 7529367

Browse files
committed
Merge branch 'develop' into solana-internal-image-create
2 parents 9139359 + e3e04c1 commit 7529367

File tree

274 files changed

+8699
-7974
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

274 files changed

+8699
-7974
lines changed

.changeset/thick-bushes-occur.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"chainlink": patch
3+
---
4+
5+
#internal consistent error handling in app startup

.github/dependabot.yml

Lines changed: 73 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,81 @@ updates:
6969
- "dependencies"
7070
- "ctf"
7171
- package-ecosystem: gomod
72-
directories:
73-
- "**/*"
72+
directory: "/system-tests/tests"
73+
schedule:
74+
interval: "daily"
75+
open-pull-requests-limit: 10
76+
labels:
77+
- "dependencies"
78+
- "tests"
79+
- package-ecosystem: gomod
80+
directory: "/system-tests/tests/smoke/cre/httpaction"
81+
schedule:
82+
interval: "daily"
83+
open-pull-requests-limit: 10
84+
labels:
85+
- "dependencies"
86+
- "tests"
87+
- package-ecosystem: gomod
88+
directory: "/system-tests/tests/smoke/cre/evm/evmread"
89+
schedule:
90+
interval: "daily"
91+
open-pull-requests-limit: 10
92+
labels:
93+
- "dependencies"
94+
- "tests"
95+
- package-ecosystem: gomod
96+
directory: "/system-tests/tests/smoke/cre/evm/logtrigger"
97+
schedule:
98+
interval: "daily"
99+
open-pull-requests-limit: 10
100+
labels:
101+
- "dependencies"
102+
- "tests"
103+
- package-ecosystem: gomod
104+
directory: "/system-tests/tests/regression/cre/consensus"
105+
schedule:
106+
interval: "daily"
107+
open-pull-requests-limit: 10
108+
labels:
109+
- "dependencies"
110+
- "tests"
111+
- package-ecosystem: gomod
112+
directory: "/system-tests/tests/regression/cre/http"
113+
schedule:
114+
interval: "daily"
115+
open-pull-requests-limit: 10
116+
labels:
117+
- "dependencies"
118+
- "tests"
119+
- package-ecosystem: gomod
120+
directory: "/system-tests/tests/regression/cre/evm/evmread-negative"
121+
schedule:
122+
interval: "daily"
123+
open-pull-requests-limit: 10
124+
labels:
125+
- "dependencies"
126+
- "tests"
127+
- package-ecosystem: gomod
128+
directory: "/system-tests/tests/regression/cre/evm/evmwrite-negative"
129+
schedule:
130+
interval: "daily"
131+
open-pull-requests-limit: 10
132+
labels:
133+
- "dependencies"
134+
- "tests"
135+
- package-ecosystem: gomod
136+
directory: "/system-tests/tests/regression/cre/evm/logtrigger-negative"
137+
schedule:
138+
interval: "daily"
139+
open-pull-requests-limit: 10
140+
labels:
141+
- "dependencies"
142+
- "tests"
143+
- package-ecosystem: gomod
144+
directory: "/system-tests/tests/regression/cre/httpaction-negative"
74145
schedule:
75146
interval: "daily"
76-
allow:
77-
- dependency-name: "cre-sdk-go"
78147
open-pull-requests-limit: 10
79148
labels:
80149
- "dependencies"

.github/workflows/build-publish.yml

Lines changed: 51 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -14,41 +14,32 @@ jobs:
1414
permissions:
1515
contents: read
1616
outputs:
17-
git-tag-type: ${{ steps.check-git-tag-type.outputs.git-tag-type }}
18-
ecr-image-name: ${{ steps.check-git-tag-type.outputs.ecr-image-name }}
1917
is-release: ${{ steps.release-tag-check.outputs.is-release }}
2018
is-pre-release: ${{ steps.release-tag-check.outputs.is-pre-release }}
19+
ccip-image-tag: ${{ steps.compute-ccip-tag.outputs.ccip-image-tag }}
2120
steps:
2221
- name: Checkout repository
2322
uses: actions/checkout@v4
2423
with:
2524
persist-credentials: false
26-
- name: Check git tag type
27-
id: check-git-tag-type
28-
shell: bash
29-
env:
30-
GIT_TAG: ${{ github.ref_name}}
31-
run: |
32-
# Check if git tag is related to CCIP
33-
# Should match:
34-
# v2.23.1-ccip1.5
35-
# v2.23.1-ccip1.5-beta.0
36-
# v2.23.1-ccip1.5-rc.1
37-
# v2.23.1-ccip
38-
regex_pattern='^v[0-9]+\.[0-9]+\.[0-9]+-ccip.*$'
39-
if [[ $GIT_TAG =~ $regex_pattern ]]; then
40-
echo "git-tag-type=ccip" | tee -a "$GITHUB_OUTPUT"
41-
echo "ecr-image-name=chainlink/ccip" | tee -a "$GITHUB_OUTPUT"
42-
else
43-
echo "git-tag-type=core" | tee -a "$GITHUB_OUTPUT"
44-
echo "ecr-image-name=chainlink/chainlink" | tee -a "$GITHUB_OUTPUT"
45-
fi
4625
- name: Check release tag
4726
id: release-tag-check
4827
uses: smartcontractkit/.github/actions/release-tag-check@c5c4a8186da4218cff6cac8184e47dd3dec69ba3 # release-tag-check@0.1.0
28+
- name: Compute CCIP image tag
29+
id: compute-ccip-tag
30+
shell: bash
31+
env:
32+
GIT_TAG: ${{ github.ref_name }}
33+
run: |
34+
# Compute CCIP-specific image tag by inserting '-ccip' before pre-release identifier
35+
# Examples:
36+
# v2.34.0-rc.1 -> 2.34.0-ccip-rc.1
37+
# v2.34.0-beta.0 -> 2.34.0-ccip-beta.0
38+
tag_without_v="${GIT_TAG#v}"
39+
ccip_tag=$(echo "$tag_without_v" | sed -E 's/^([0-9]+\.[0-9]+\.[0-9]+)-(.*)$/\1-ccip-\2/')
40+
echo "ccip-image-tag=$ccip_tag" | tee -a "$GITHUB_OUTPUT"
4941
- name: Check for VERSION file bump on tags
50-
# Avoids checking VERSION file bump on forks or from CCIP releases.
51-
if: ${{ github.repository == 'smartcontractkit/chainlink' && steps.check-git-tag-type.outputs.git-tag-type == 'core' }}
42+
if: ${{ github.repository == 'smartcontractkit/chainlink' }}
5243
uses: ./.github/actions/version-file-bump
5344
with:
5445
github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -57,7 +48,7 @@ jobs:
5748
needs: [checks]
5849
# No need to build the final image as we promote the last RC to use the final tag
5950
# so we only run the builds for pre-releases.
60-
if: needs.checks.outputs.git-tag-type == 'core' && needs.checks.outputs.is-pre-release == 'true'
51+
if: needs.checks.outputs.is-pre-release == 'true'
6152
permissions:
6253
contents: read
6354
id-token: write
@@ -89,7 +80,9 @@ jobs:
8980

9081
docker-ccip:
9182
needs: [checks]
92-
if: needs.checks.outputs.git-tag-type == 'ccip'
83+
# No need to build the final image as we promote the last RC to use the final tag
84+
# so we only run the builds for pre-releases.
85+
if: needs.checks.outputs.is-pre-release == 'true'
9386
permissions:
9487
contents: read
9588
id-token: write
@@ -110,7 +103,7 @@ jobs:
110103
docker-cache-behaviour: "disable"
111104
docker-manifest-sign: true
112105
docker-registry-url-override: public.ecr.aws/chainlink
113-
docker-image-tag-strip-prefix: v # strip out the "v" prefix from the git tag for the image tag.
106+
docker-image-tag-override: ${{ needs.checks.outputs.ccip-image-tag }}
114107
git-sha: ${{ github.sha }}
115108
github-event-name: ${{ github.event_name }}
116109
github-ref-name: ${{ github.ref_name }}
@@ -124,11 +117,11 @@ jobs:
124117

125118
# Notify Slack channel for new git tags associated with pre-releases.
126119
# Final release notifications originate from the release coordinator repo.
127-
slack-notify-prereleases:
120+
slack-notify-core:
128121
permissions:
129122
contents: read
130-
if: always() && (needs.docker-core.result == 'success' || needs.docker-ccip.result == 'success') && needs.checks.outputs.is-pre-release == 'true'
131-
needs: [checks, docker-core, docker-ccip]
123+
if: always() && needs.docker-core.result == 'success'
124+
needs: [checks, docker-core]
132125
uses: ./.github/workflows/release-notifications.yml
133126
secrets: inherit
134127
with:
@@ -145,12 +138,35 @@ jobs:
145138
docker-image-name: >-
146139
${{
147140
format(
148-
'public.ecr.aws/{0}:{1}',
149-
needs.checks.outputs.ecr-image-name,
150-
needs.docker-core.outputs.docker-manifest-tag || needs.docker-ccip.outputs.docker-manifest-tag
141+
'public.ecr.aws/chainlink/chainlink:{0}',
142+
needs.docker-core.outputs.docker-manifest-tag
143+
)
144+
}}
145+
docker-image-digest: ${{ needs.docker-core.outputs.docker-manifest-digest }}
146+
147+
slack-notify-ccip:
148+
permissions:
149+
contents: read
150+
if: always() && needs.docker-ccip.result == 'success'
151+
needs: [checks, docker-ccip]
152+
uses: ./.github/workflows/release-notifications.yml
153+
secrets: inherit
154+
with:
155+
git-ref: ${{ github.ref_name }}
156+
git-ref-type: ${{ github.ref_type }}
157+
changelog-url: >-
158+
${{
159+
format(
160+
'https://github.com/{0}/blob/{1}/CHANGELOG.md',
161+
github.repository,
162+
github.ref_name
151163
)
152164
}}
153-
docker-image-digest: >-
165+
docker-image-name: >-
154166
${{
155-
needs.docker-core.outputs.docker-manifest-digest || needs.docker-ccip.outputs.docker-manifest-digest
167+
format(
168+
'public.ecr.aws/chainlink/ccip:{0}',
169+
needs.docker-ccip.outputs.docker-manifest-tag
170+
)
156171
}}
172+
docker-image-digest: ${{ needs.docker-ccip.outputs.docker-manifest-digest }}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ tools/clroot/db.sqlite3-wal
3232
debug.env
3333
operator_ui/install
3434
.devenv
35+
event_dump.ndjson
3536

3637
# neovim
3738
.nvim.lua

.mockery.yaml

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -277,13 +277,6 @@ packages:
277277
interfaces:
278278
ExternalInitiatorManager:
279279
HTTPClient:
280-
github.com/smartcontractkit/chainlink/v2/core/services/relay/evm/read:
281-
config:
282-
dir: "{{ .InterfaceDir }}/mocks"
283-
interfaces:
284-
Registrar:
285-
Reader:
286-
BatchCaller:
287280
github.com/smartcontractkit/chainlink/v2/core/sessions:
288281
interfaces:
289282
BasicAdminUsersORM:
@@ -306,9 +299,6 @@ packages:
306299
config:
307300
dir: core/capabilities/targets/mocks
308301
interfaces:
309-
Codec:
310-
config:
311-
dir: core/services/relay/evm/mocks
312302
ContractWriter:
313303
github.com/smartcontractkit/chainlink-ccip/chains/evm/gobindings/generated/v1_2_0/evm_2_evm_offramp:
314304
config:

core/capabilities/ccip/ccip_integration_tests/integrationhelpers/integration_helpers.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"github.com/stretchr/testify/require"
2121

2222
chainsel "github.com/smartcontractkit/chain-selectors"
23+
2324
"github.com/smartcontractkit/chainlink-ccip/chains/evm/gobindings/generated/v1_6_0/ccip_home"
2425
"github.com/smartcontractkit/chainlink-ccip/chains/evm/gobindings/generated/v1_6_0/rmn_home"
2526
ccipreader "github.com/smartcontractkit/chainlink-ccip/pkg/reader"
@@ -33,14 +34,14 @@ import (
3334
"github.com/smartcontractkit/chainlink-evm/pkg/config"
3435
"github.com/smartcontractkit/chainlink-evm/pkg/heads/headstest"
3536
"github.com/smartcontractkit/chainlink-evm/pkg/logpoller"
37+
"github.com/smartcontractkit/chainlink-evm/pkg/read"
3638
evmtestutils "github.com/smartcontractkit/chainlink-evm/pkg/testutils"
3739

3840
configsevm "github.com/smartcontractkit/chainlink/v2/core/capabilities/ccip/configs/evm"
3941
cctypes "github.com/smartcontractkit/chainlink/v2/core/capabilities/ccip/types"
4042
"github.com/smartcontractkit/chainlink/v2/core/internal/testutils"
4143
"github.com/smartcontractkit/chainlink/v2/core/internal/testutils/pgtest"
4244
"github.com/smartcontractkit/chainlink/v2/core/services/keystore/keys/p2pkey"
43-
"github.com/smartcontractkit/chainlink/v2/core/services/relay/evm"
4445
)
4546

4647
const chainID = 1337
@@ -55,7 +56,7 @@ func NewReader(
5556
address common.Address,
5657
chainReaderConfig config.ChainReaderConfig,
5758
) types.ContractReader {
58-
cr, err := evm.NewChainReaderService(testutils.Context(t), logger.Test(t), logPoller, headTracker, client, chainReaderConfig)
59+
cr, err := read.NewChainReaderService(testutils.Context(t), logger.Test(t), logPoller, headTracker, client, chainReaderConfig)
5960
require.NoError(t, err)
6061
err = cr.Bind(testutils.Context(t), []types.BoundContract{
6162
{
@@ -158,7 +159,7 @@ func (t TestUniverse) NewContractReader(ctx context.Context, cfg []byte) (types.
158159
var config config.ChainReaderConfig
159160
err := json.Unmarshal(cfg, &config)
160161
require.NoError(t.TestingT, err)
161-
return evm.NewChainReaderService(ctx, logger.Test(t.TestingT), t.LogPoller, t.HeadTracker, t.SimClient, config)
162+
return read.NewChainReaderService(ctx, logger.Test(t.TestingT), t.LogPoller, t.HeadTracker, t.SimClient, config)
162163
}
163164

164165
func P2pIDsFromInts(ints []int64) [][32]byte {

core/capabilities/ccip/ccip_integration_tests/usdcreader/usdcreader_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
typepkgmock "github.com/smartcontractkit/chainlink-ccip/mocks/pkg/types/ccipocr3"
2424
ccipocr3common "github.com/smartcontractkit/chainlink-common/pkg/types/ccipocr3"
2525
"github.com/smartcontractkit/chainlink-evm/pkg/config"
26+
"github.com/smartcontractkit/chainlink-evm/pkg/read"
2627

2728
sel "github.com/smartcontractkit/chain-selectors"
2829

@@ -39,7 +40,6 @@ import (
3940
evmconfig "github.com/smartcontractkit/chainlink/v2/core/capabilities/ccip/configs/evm"
4041
"github.com/smartcontractkit/chainlink/v2/core/internal/testutils"
4142
"github.com/smartcontractkit/chainlink/v2/core/internal/testutils/pgtest"
42-
"github.com/smartcontractkit/chainlink/v2/core/services/relay/evm"
4343
"github.com/smartcontractkit/chainlink/v2/core/utils/testutils/heavyweight"
4444
)
4545

@@ -460,7 +460,7 @@ func testSetup(ctx context.Context, t testing.TB, readerChain ccipocr3common.Cha
460460
)
461461
require.NoError(t, lp.Start(ctx))
462462

463-
cr, err := evm.NewChainReaderService(ctx, lggr, lp, headTracker, cl, cfg)
463+
cr, err := read.NewChainReaderService(ctx, lggr, lp, headTracker, cl, cfg)
464464
require.NoError(t, err)
465465

466466
err = cr.Start(ctx)

core/capabilities/compute/cache_test.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import (
1212
"github.com/stretchr/testify/require"
1313

1414
"github.com/smartcontractkit/chainlink-common/pkg/logger"
15-
"github.com/smartcontractkit/chainlink-common/pkg/utils/tests"
1615
"github.com/smartcontractkit/chainlink-common/pkg/workflows/wasm/host"
1716
"github.com/smartcontractkit/chainlink/v2/core/internal/testutils/wasmtest"
1817
)
@@ -23,8 +22,6 @@ const (
2322

2423
// Verify that cache evicts an expired module.
2524
func TestCache(t *testing.T) {
26-
tests.SkipFlakey(t, "https://smartcontract-it.atlassian.net/browse/DX-558")
27-
2825
t.Parallel()
2926
clock := clockwork.NewFakeClock()
3027
tick := 1 * time.Second

0 commit comments

Comments
 (0)