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

Chore/release 2.9.0 -> master #12190

Closed
wants to merge 221 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
221 commits
Select commit Hold shift + click to select a range
5aa336a
[AUTO-7471] add automation node upgrade test to nightly CI (#11469)
anirudhwarrier Dec 4, 2023
2f17dd6
core/services/relay/evm/mercury: use chainlink-data-streams (#11293)
jmank88 Dec 4, 2023
fb61a59
[AUTO-7471] add notification to automation-nightly-test (#11473)
anirudhwarrier Dec 4, 2023
ea290be
Fix solhint warnings (#11480)
RensR Dec 4, 2023
c68240f
bump libocr; remove P2P.V1; drop libp2p (#10872)
jmank88 Dec 4, 2023
02a49f2
Revert "make streams lookup modular (#11368)" (#11482)
shileiwill Dec 4, 2023
7d92740
Update Loki auth in Github test workflow (#11488)
kidambisrinivas Dec 4, 2023
1032ba3
remove pkgerrors dependency from common pkg (#11479)
poopoothegorilla Dec 5, 2023
006e3c7
Extract mathutil (#11446)
dimriou Dec 5, 2023
6cc8120
VRF-784: add contract loader client for BSC to run CTF tests there (#…
iljapavlovs Dec 5, 2023
9d49a20
Check if ECR image exists before trying to publish (#11495)
chainchad Dec 5, 2023
cf9ab4e
VRF-782: Fix setup-env script in order to include flag for deploying …
iljapavlovs Dec 5, 2023
14d22df
BCF-2823 Minor changes to distributeFunds (#11476)
ilija42 Dec 6, 2023
79da81f
Create auto update workflow (#11483)
DylanTinianov Dec 6, 2023
d65ca4f
[TT-744] Bump core results output filter (#11486)
tateexon Dec 6, 2023
c17067b
Interfaces and skeleton methods for ChainReader EVM POC (#10990)
reductionista Dec 6, 2023
47d0690
Improve logging for cache (#11453)
samsondav Dec 6, 2023
346448e
Only run keepers tests in the merge_group for PRs to develop (#11506)
tateexon Dec 6, 2023
4d8e093
[FUN-1094] Minor fixes (#11434)
agparadiso Dec 6, 2023
c0a5821
[TT-523] Add Networks for Live Tests (#11358)
kalverra Dec 7, 2023
c545d2c
Devspace non-root/build update (#11510)
skudasov Dec 7, 2023
6bb80e0
bump mockery to v2.38.0 (#11509)
jmank88 Dec 7, 2023
5a98ac6
Test VRF LogPoller functionality- initializeLastProcessedBlock, updat…
kidambisrinivas Dec 7, 2023
df54d26
EVM Extraction core/services/servicetest (#11514)
DylanTinianov Dec 7, 2023
711987f
[TT-590] Logstream with buffered streaming to Loki (#11477)
Tofel Dec 7, 2023
8b13213
go generate a mermaid flowchart for org modules (#11467)
jmank88 Dec 8, 2023
d3f99e4
use servicetest.Run & RunHealthy (#11354)
jmank88 Dec 8, 2023
f99fd8e
bump go to 1.21.5 and misc deps (#11525)
jmank88 Dec 8, 2023
06656fa
core/scripts/common: rm ava-labs/coreth; lint (#11451)
jmank88 Dec 8, 2023
1b357f6
(test): Remove unnecessary fuzzing from Functions OnTokenTransfer tes…
justinkaseman Dec 8, 2023
1a45097
small improvements based on comments (#11491)
shileiwill Dec 8, 2023
500a4db
wrap devspace commands (#11530)
skudasov Dec 11, 2023
120bef7
go.mods: rm libp2p; rm btcd replace (#11502)
jmank88 Dec 11, 2023
0c63446
[BCF-2760] Flakey test detection improvements (#11470)
cedric-cordenier Dec 12, 2023
306eadc
Remove core utils dependencies from common (#11425)
dimriou Dec 12, 2023
cf74cd0
Use multiple EL clients with ocrv2 median smoke test (#11399)
Tofel Dec 12, 2023
dfc62cc
disable kaniko fallback, increase deploy wait timeout (#11548)
skudasov Dec 12, 2023
82faf5d
[DEPLOY-178]: Adds Scroll L2EP Contracts (#11405)
chris-de-leon-cll Dec 12, 2023
35ad7d1
Handle edge case involving blocks not being found in the db (#11298)
reductionista Dec 12, 2023
a8d096c
Remove big from core utils (#11511)
dimriou Dec 12, 2023
96b7ab6
bump toml/v2 and prometheus to latest patch (#11541)
jmank88 Dec 12, 2023
00e1c55
Change keepers to use the default contract transmitter (#11308)
ferglor Dec 12, 2023
f3d5417
Standardize LP filter logging (#11515)
connorwstein Dec 12, 2023
ac9338f
bump Foundry to the December release (#11540)
RensR Dec 13, 2023
57236b3
Removes Optimism Goerli from Scheduled Tests (#11559)
kalverra Dec 13, 2023
1a26acd
fix health monitoring (#11558)
jmank88 Dec 13, 2023
6f13447
[FUN-990] s4 observability improvements (#11512)
agparadiso Dec 13, 2023
9b50041
[TT-367] [TT-745] Quick and Dirty OCRv2 Soak Test (#11487)
kalverra Dec 13, 2023
862f79a
bump common; use SugaredLogger methods (#11556)
jmank88 Dec 13, 2023
7cb552e
VRF-798: fix "nonce too low" in load test setup when creating a subsc…
iljapavlovs Dec 13, 2023
43e9f27
feat: add liquidity balancer specs table (#11564)
makramkd Dec 13, 2023
19c7cca
Auto 8087 modular streams (#11489)
shileiwill Dec 13, 2023
ee2996f
Adds MAKE Command for Building Plugin Image (#11567)
kalverra Dec 13, 2023
8b2c48d
Mercury Packer (#11521)
shileiwill Dec 13, 2023
c274c23
Introduce job spec flag for custom reverted pipeline (#11529)
kidambisrinivas Dec 13, 2023
917b74f
options to include customized pg and chainlink image (#11570)
AnieeG Dec 13, 2023
7a0704f
add readme (#11535)
shileiwill Dec 14, 2023
f874ea6
Little Docs Updates (#11569)
kalverra Dec 14, 2023
71e1a79
add unit test to cover 2 check results (#11490)
shileiwill Dec 14, 2023
e427abb
add CI test for core/scripts (#11466)
momentmaker Dec 14, 2023
b2e163b
bump npm packages (#11572)
RensR Dec 14, 2023
7dd42eb
Fix Makefile Oversight (#11568)
kalverra Dec 14, 2023
3c29970
Extract relay from evm (#11537)
DylanTinianov Dec 14, 2023
4b0608a
Lower All Runner Sizes (#11539)
kalverra Dec 14, 2023
7773d03
Remove direct references to TXM DB from external component tests (#11…
amit-momin Dec 14, 2023
e12a38c
core/chains/evm/txmgr: fix race by waiting for goroutines to complete…
jmank88 Dec 14, 2023
413ebe2
core/scripts: golangci-lint cleanup (#11583)
jmank88 Dec 15, 2023
463d433
Update job names for scripts CI (#11585)
chainchad Dec 15, 2023
7665e26
Fix CI job name by using default (#11586)
chainchad Dec 15, 2023
0b99f3a
Fix batch tx send encoding (#11500)
amit-momin Dec 15, 2023
b12329e
core/web: /health - and support for HTML & Plaintext (#11552)
jmank88 Dec 15, 2023
5cfc866
core/services/pipeline: pad deadline for late return (#11555)
jmank88 Dec 15, 2023
3cea51d
Bump wasp version which has a loki bump (#11590)
tateexon Dec 15, 2023
6ce226c
[TT-758] Fixes Upgrade Test (#11589)
kalverra Dec 18, 2023
cfbc0b0
check mercury opts nil-ness prior to svcs append (#11603)
makramkd Dec 18, 2023
f177b32
use a centralized place for failure reasons and states (#11523)
shileiwill Dec 18, 2023
96652ec
Create PR label workflow for CRIB (#11544)
chainchad Dec 18, 2023
9029fa6
Include BSC in reporting (#11606)
kalverra Dec 18, 2023
17420af
Bump solana build contracts version to fix bad upload artifact versio…
tateexon Dec 19, 2023
233445a
BCI-2508: TXM duplicate nonces caused by trasmitchecker (#11546)
dhaidashenko Dec 19, 2023
d4ab877
Added smoke test for canceling subscription on VRFv2 (#11587)
ibrajer Dec 19, 2023
69f83f3
Disable Flakey Scroll Test until Fix (#11619)
kalverra Dec 19, 2023
85e19b9
Automation LOOPP (#11439)
ferglor Dec 19, 2023
9ae0b9a
[AUTO-8227] Update Log Trigger Load Test (#11601)
anirudhwarrier Dec 19, 2023
b9b4068
Added VRF v2 oracle withdraw smoke test (#11617)
dkneisly Dec 19, 2023
bf31131
VRF-817: run all VRF V2 tests in CI (#11620)
iljapavlovs Dec 19, 2023
0e5b219
update common for mailbox.Monitor name fix (#11593)
jmank88 Dec 19, 2023
ff8e4a8
Improves Fund Return Contingency Plans (#11628)
kalverra Dec 19, 2023
e66e060
[AUTO-8227] Update Log Trigger Load Test (#11632)
anirudhwarrier Dec 20, 2023
8795647
Move core eth utils to evm (#11584)
dimriou Dec 20, 2023
14d5d3b
Add optional ingress support for helm chart (#11534)
chainchad Dec 20, 2023
fbe25a2
core/services/relay/evm/mercury/wsrpc: forward health and readiness f…
jmank88 Dec 20, 2023
cc1fe34
Add extra logging to bridge response errors (#11627)
samsondav Dec 20, 2023
9603e5e
[TT-765] Moves Client Compatability Tests to Nightly Run (#11610)
kalverra Dec 20, 2023
be53519
Temporarily Disables BSC in Live Tests (#11642)
kalverra Dec 20, 2023
c5aa49b
Increase disablement of cache if LatestReportTTL=0 (#11636)
samsondav Dec 21, 2023
09067a3
Remove all utils dependencies from evm (#11622)
dimriou Dec 21, 2023
01146e9
Removes Arbitrary Funding Sleep (#11650)
kalverra Dec 21, 2023
7236361
core/services/relay/evm: start RequestRoundTracker; report full healt…
jmank88 Dec 21, 2023
c3ba3a5
Fixes Compatibility Tests (#11652)
kalverra Dec 21, 2023
9b425d0
integration-tests/smoke: add plugins variant to TestOCRv2Basic (#11633)
jmank88 Dec 21, 2023
3661f48
service cleanup (#11655)
jmank88 Dec 22, 2023
d483612
Create network policies for helm chart (#11653)
chainchad Dec 22, 2023
1fa50ce
[AUTO-8227] use multicall3 for loadgen (#11638)
anirudhwarrier Dec 22, 2023
6b740c5
Fix infinite stack overflow if caching is disabled (#11669)
samsondav Jan 2, 2024
c8eaac7
remove oracle withdraw and allow contract owner to withdraw (#11551)
jinhoonbang Jan 2, 2024
3c102bf
bump go-ethereum 1.12.2 (#10264)
jmank88 Jan 3, 2024
48002f2
remove network policies temporarily, force amd64 builds (#11673)
skudasov Jan 3, 2024
adfa4bd
Refactoring Test_Client_LatestReport to parameterized test (#11670)
patrickhuie19 Jan 3, 2024
426cedd
Bump slowest e2e job to larger runner to improve test times (#11681)
tateexon Jan 3, 2024
1446727
Remove duplicated ocr2 run in ci (#11682)
tateexon Jan 3, 2024
e3fe671
Add documentation for Mercury (#11680)
samsondav Jan 4, 2024
529d2cf
[FUN-877] Persist subscriptions fetched from contracts (#11573)
agparadiso Jan 4, 2024
2f10153
add chainlink health command; make DB avialable for testscript client…
jmank88 Jan 4, 2024
3ea324f
Add ClNode.ExecGetVersion for E2E docker tests (#11691)
lukaszcl Jan 5, 2024
094b252
Refrains From Explicitly Requesting New OCR Rounds (#11656)
kalverra Jan 5, 2024
3e944c9
Split automation-01 ci job out to multiple (#11694)
tateexon Jan 5, 2024
29140a2
Adding guide for product teams + core instrumenting spans (#11684)
patrickhuie19 Jan 5, 2024
25b55fd
localhost --> 127.0.0.1 registry name update (#11696)
patrickhuie19 Jan 7, 2024
7fe0710
fix readme (#11689)
skudasov Jan 8, 2024
fa00dd3
add .env example for debugging script (#11693)
shileiwill Jan 9, 2024
8499fe8
show a more verbose message when perform gas is lower than gas used (…
shileiwill Jan 9, 2024
61f42ce
remove unused code from NewDelegate signature (#11708)
krehermann Jan 9, 2024
80bc9f2
Replace mercury eventbroadcaster with polling (#11707)
krehermann Jan 9, 2024
1bb33a4
Switches test to heavyweight DB (#11712)
vyzaldysanchez Jan 9, 2024
0f82c97
Adding Mercury.TLS field CertPath for node communication with web ser…
patrickhuie19 Jan 9, 2024
43a8eb6
Add AlwaysPullImage option to docker core node (#11715)
lukaszcl Jan 9, 2024
7fc45b6
chore: bump github action versions (#11657)
erikburt Jan 9, 2024
b0da965
remove unused references to EventBroadcaster from evm relayer (#11720)
krehermann Jan 9, 2024
768edec
remove unused eventbroadcaster from legacy evm chains (#11722)
krehermann Jan 10, 2024
5b9abcf
Enable base sepolia on demand ocr soak (#11726)
davidcauchi Jan 10, 2024
f8bc7c6
add logging for vrf output (#11719)
jinhoonbang Jan 10, 2024
89a8ba4
[TT-757] enable log stream in test env builder by default (#11706)
Tofel Jan 10, 2024
2a20248
remove redundant operator-ui make dependencies (#11729)
jmank88 Jan 10, 2024
1567a11
core/cmd: keys eth list: print Unknown/None instead of <nil> (#11724)
jmank88 Jan 10, 2024
6594979
Chore/rm eventbroadcaster entirely (#11727)
krehermann Jan 10, 2024
ba841a5
Extract core/store/models (#11626)
DylanTinianov Jan 10, 2024
e8c68bd
Add onRamps support to LinkMon (#11571)
Jan 10, 2024
c1eeb28
BCF-2880 remove unused db funcs and triggers (#11730)
krehermann Jan 10, 2024
de75c03
core/services/relay: remove unecessary conversions of Network & Chain…
jmank88 Jan 10, 2024
9759ff9
BCF-2882 remove libpq notify (#11738)
krehermann Jan 10, 2024
c3b156b
BCF-2883 remove stranded, unused db func evm.notifytxinsertion (#11739)
krehermann Jan 11, 2024
dbc0f91
Implement stream specs (#11685)
samsondav Jan 11, 2024
3aa5e46
golangci-lint: add noctx, sqlclosecheck; rm redundant revive.toml (#1…
jmank88 Jan 11, 2024
686553a
Move metrics collection to fix summary errors on no runs (#11743)
tateexon Jan 11, 2024
3332401
Fix TestIntegration_BlockHistoryEstimator leak (#11741)
dimriou Jan 11, 2024
4551522
Improve on-chain config docs (#11700)
samsondav Jan 11, 2024
a3aa6a9
support arbitrum sepolia (#11723)
shileiwill Jan 11, 2024
841b455
Change chainlink helm chart node deployment to use 'recreate' rollout…
chainchad Jan 11, 2024
64b5ba7
Update chainlink-common to latest commit (#11755)
DylanTinianov Jan 12, 2024
c0f9838
chore/VRF-325 - Added smoke test for direct funding on VRFv2 (#11690)
dkneisly Jan 12, 2024
e595f5b
golangci-lint: add unconvert (#11757)
jmank88 Jan 12, 2024
a69a78d
Run Argo CD app sync after image is published from PR (#11750)
chainchad Jan 12, 2024
45bf1fd
Allow custom hooks for ClNode in e2e tests (#11745)
lukaszcl Jan 12, 2024
31565b6
Add bash scripts CI workflow (#11762)
chainchad Jan 12, 2024
c32efca
Fix cold path cache hit panic (#11768)
samsondav Jan 12, 2024
75fa715
increase latency bucket granularity on mercury_wsrpc_request_latency …
akuzni2 Jan 16, 2024
c2115d3
Deprecates Base Goerli (#11787)
kalverra Jan 16, 2024
acebe22
Extract debugging readme to a standalone file (#11766)
shileiwill Jan 17, 2024
ac372a4
Use a more readable string for upkeep failure reasons (#11770)
shileiwill Jan 17, 2024
39bc713
remove .run.id during test cleanup (#11786)
Tofel Jan 17, 2024
8f96cf2
adding gin tracing to core (#11796)
patrickhuie19 Jan 17, 2024
a075447
Removes 4 Core GitHub Runners (#11803)
kalverra Jan 17, 2024
39847bb
[Fix] Add Scroll chainType and L1GasOracle (#11790)
stackman27 Jan 18, 2024
fcc3006
Automation LOOPP services (#11631)
ferglor Jan 18, 2024
958e2c6
bump geth; replace common.Address.Hash() calls; restore standard log …
jmank88 Jan 18, 2024
400e292
bump libocr 6359502 (#11799)
jmank88 Jan 18, 2024
3e91b24
[TT-821] Optimize Integration Test Runtimes (#11795)
kalverra Jan 18, 2024
286c8c0
Re-add network policies back to helm chart and fix node egress (#11771)
chainchad Jan 18, 2024
9c22655
Add role label to nodes in chart (#11817)
chainchad Jan 18, 2024
d805141
Align log buffer to work with logs limits config (#11781)
amirylm Jan 19, 2024
93deaf6
updaete ctf version (#11793)
Tofel Jan 19, 2024
0e50199
Log stream improvements (#11791)
Tofel Jan 19, 2024
ed0b614
add test summary + loki to automation smoke test; use summary action …
Tofel Jan 19, 2024
6133df8
Hotfix attempt for Canary : v2.8.0-rc0 upgrade fails on Polygon. (#11…
DylanTinianov Jan 19, 2024
e4bde64
[DEPLOY-512]: Adds L2EP Foundry Tests (#11683)
chris-de-leon-cll Jan 20, 2024
f8a47b9
Added Liea support (#11784)
smickovskid Jan 22, 2024
b164040
pipeline/task.bridge: do not cache invalid external adapter response …
brunotm Jan 22, 2024
41f2497
Fix RPC name override (#11813)
dhaidashenko Jan 22, 2024
f0543e6
labels for automatic chaos testing (#11830)
skudasov Jan 22, 2024
dbcba88
Support custom ingress rules on the chart to support external Ingress…
chainchad Jan 22, 2024
091a9a3
Add chain reader and codec EVM implementation (#11842)
nolag Jan 22, 2024
c45ff89
Always checkout repo in workflow to support argo sync and rename imag…
chainchad Jan 22, 2024
388e779
[Functions] Add extra validations for offchain heartbeats (#11783)
bolekk Jan 23, 2024
91c799c
Adds Grafana Logging for Live Testnets (#11798)
kalverra Jan 23, 2024
bc01205
VRF-780: updating VRF Owner contract; VRF-847: add posibility to depl…
iljapavlovs Jan 23, 2024
4b8988b
Remove old way of configuring telemetry pubkey and url (#11780)
george-dorin Jan 23, 2024
5e7b2b2
Make missing fields return invalid type instead of sometimes defaulti…
nolag Jan 23, 2024
d7fe683
update changelog for P2P.V1 removal (#11856)
jmank88 Jan 23, 2024
5057899
Temporarily disable tracker (#11857)
DylanTinianov Jan 23, 2024
737d349
Auto 8378 create copy of 2 1 contracts and test suits (#11853)
RyanRHall Jan 23, 2024
6771c0a
bump operator ui v0.8.0-8da47c3 (#11860)
jmank88 Jan 23, 2024
139fb1a
Fix LP tests filters check and add to smoke tests in CI (#11649)
Tofel Jan 23, 2024
043f6a4
exclude debug.go (#11866)
shileiwill Jan 24, 2024
2586bc4
replace external facing mercury with data streams (#11754)
shileiwill Jan 24, 2024
aa05727
[DEPLOY-694]: Adds zero-value check to ScrollSequencerUptimeFeed (#11…
chris-de-leon-cll Jan 24, 2024
ccb3e99
[TT-748] TOML config for integration tests (#11588)
Tofel Jan 24, 2024
0656408
Updates GitHub Action to Fixed Version (#11871)
kalverra Jan 24, 2024
c026cc3
Parameterizing TestPriorityLevelNodeSelector (#11872)
patrickhuie19 Jan 24, 2024
b7260d4
core/plugins: add per-plugin env vars (#11526)
jmank88 Jan 24, 2024
59d1c99
support customized block number for conditional (#11804)
shileiwill Jan 24, 2024
1022aa0
[FUN-877] persist data fetched from allowlist contract (#11648)
agparadiso Jan 24, 2024
9550bbe
Add CHANGELOG for core v2.7.2 (#11876)
snehaagni Jan 24, 2024
c308d46
add 2.2 contracts to go_generate file and fix master generation scrip…
RyanRHall Jan 24, 2024
1d7e01b
Optimizes OCR2 Test Runtimes (#11875)
kalverra Jan 24, 2024
d37c085
[TT-756] Marks Failing Remote Runner Tests as Failed (#11840)
kalverra Jan 24, 2024
d627fe9
update common to remove data race in test (#11880)
nolag Jan 24, 2024
cb785bb
fix some warnings in automation contracts (#11867)
FelixFan1992 Jan 24, 2024
78e96d1
run compatibility tests also in nethermind (#11816)
Tofel Jan 24, 2024
d4c518d
release/2.8.0 -> develop (#11884)
snehaagni Jan 25, 2024
70b94e9
add reorgProtectionEnabled feature flag in registry 2.2 (#11862)
FelixFan1992 Jan 25, 2024
23b612b
VRF-858: small refactoring - rename CTF VRF V2 and V2.5 packages (#11…
iljapavlovs Jan 25, 2024
e9f138c
This should restore "make chainlink" to previous behavior (#11886)
reductionista Jan 25, 2024
8014d40
Fix Automation load, nightly tests (#11891)
anirudhwarrier Jan 25, 2024
645fbd6
Fix live test reporting (#11879)
Tofel Jan 25, 2024
1e791ac
Bump version and update CHANGELOG for core v2.9.0 (#11893)
snehaagni Jan 25, 2024
18b185f
move the error to after confirming it is intended to use mercury (#11…
shileiwill Jan 26, 2024
76c6bfc
do not call an RPC if it's not Alive (#11999)
dhaidashenko Feb 13, 2024
60bcb42
Merge pull request #12019 from smartcontractkit/fix/panic-on-undialed…
snehaagni Feb 13, 2024
1e83bd5
Finalize date on changelog for $VERSION
snehaagni Feb 22, 2024
065ef85
Merge pull request #12144 from smartcontractkit/chore/update-release-…
snehaagni Feb 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .ct.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# See: https://github.com/helm/chart-testing
target-branch: develop
chart-dirs: 'charts'
check-version-increment: false
validate-maintainers: false
2 changes: 1 addition & 1 deletion .github/actions/build-test-image/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ inputs:
required: false
suites:
description: The test suites to build into the image
default: chaos migration performance reorg smoke soak benchmark load/automationv2_1
default: chaos migration reorg smoke soak benchmark load/automationv2_1
required: false
QA_AWS_ROLE_TO_ASSUME:
description: The AWS role to assume as the CD user, if any. Used in configuring the docker/login-action
Expand Down
7 changes: 1 addition & 6 deletions .github/actions/golangci-lint/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,9 @@ runs:
shell: bash
run: mkdir -p core/web/assets && touch core/web/assets/index.html
- name: Build binary
if: ${{ inputs.go-directory == '.' }}
shell: bash
run: go build ./...
- name: Build binary
if: ${{ inputs.go-directory != '.' }}
working-directory: ${{ inputs.go-directory }}
shell: bash
run: go build
run: go build ./...
- name: golangci-lint
uses: golangci/golangci-lint-action@3a919529898de77ec3da873e3063ca4b10e7f5cc # v3.7.0
with:
Expand Down
37 changes: 37 additions & 0 deletions .github/actions/notify-slack-jobs-result/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Notify Slack Jobs Result

Sends a Slack message to a specified channel detailing the results of one to many GHA job results using a regex. The job results will be grouped by the `github_job_name_regex` and displayed underneath the `message_title`, with the regex matching group displayed as an individual result. This is primarily designed for when you have test groups running in a matrix, and would like condensed reporting on their status by group. It's often accompanied by posting a Slack message before to start a thread, then attaching all the results to that thread like we do in the reporting section of the [live-testnet-test.yml workflow](../../workflows/live-testnet-tests.yml). Check out the example below, where we post an initial summary message, then use this action to thread together specific results:

```yaml
message_title: Optimism Goerli
github_job_name_regex: ^Optimism Goerli (?<cap>.*?) Tests$ # Note that the regex MUST have a capturing group named "cap"
```

![example](image.png)

## Inputs

```yaml
inputs:
github_token:
description: "The GitHub token to use for authentication (usually ${{ github.token }})"
required: true
github_repository:
description: "The GitHub owner/repository to use for authentication (usually ${{ github.repository }}))"
required: true
workflow_run_id:
description: "The workflow run ID to get the results from (usually ${{ github.run_id }})"
required: true
github_job_name_regex:
description: "The regex to use to match 1..many job name(s) to collect results from. Should include a capture group named 'cap' for the part of the job name you want to display in the Slack message (e.g. ^Client Compatability Test (?<cap>.*?)$)"
required: true
message_title:
description: "The title of the Slack message"
required: true
slack_channel_id:
description: "The Slack channel ID to post the message to"
required: true
slack_thread_ts:
description: "The Slack thread timestamp to post the message to, handy for keeping multiple related results in a single thread"
required: false
```
110 changes: 110 additions & 0 deletions .github/actions/notify-slack-jobs-result/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
name: Notify Slack Jobs Result
description: Will send a notification in Slack for the result of a GitHub action run, typically for test results
inputs:
github_token:
description: "The GitHub token to use for authentication (usually github.token)"
required: true
github_repository:
description: "The GitHub owner/repository to use for authentication (usually github.repository))"
required: true
workflow_run_id:
description: "The workflow run ID to get the results from (usually github.run_id)"
required: true
github_job_name_regex:
description: "The regex to use to match 1..many job name(s) to collect results from. Should include a capture group named 'cap' for the part of the job name you want to display in the Slack message (e.g. ^Client Compatability Test (?<cap>.*?)$)"
required: true
message_title:
description: "The title of the Slack message"
required: true
slack_channel_id:
description: "The Slack channel ID to post the message to"
required: true
slack_bot_token:
description: "The Slack bot token to use for authentication which needs permission and an installed app in the channel"
required: true
slack_thread_ts:
description: "The Slack thread timestamp to post the message to, handy for keeping multiple related results in a single thread"
required: false

runs:
using: composite
steps:
- name: Get Results
shell: bash
id: test-results
run: |
# I feel like there's some clever, fully jq way to do this, but I ain't got the motivation to figure it out
echo "Querying test results at https://api.github.com/repos/${{inputs.github_repository}}/actions/runs/${{ inputs.workflow_run_id }}/jobs"

PARSED_RESULTS=$(curl \
-H "Authorization: Bearer ${{ inputs.github_token }}" \
'https://api.github.com/repos/${{inputs.github_repository}}/actions/runs/${{ inputs.workflow_run_id }}/jobs' \
| jq -r --arg pattern "${{ inputs.github_job_name_regex }}" '.jobs[]
| select(.name | test($pattern)) as $job
| $job.steps[]
| select(.name == "Run Tests")
| { conclusion: (if .conclusion == "success" then ":white_check_mark:" else ":x:" end), cap: ("*" + ($job.name | capture($pattern).cap) + "*"), html_url: $job.html_url }')

echo "Parsed Results:"
echo $PARSED_RESULTS

ALL_SUCCESS=true
echo "Checking for failures"
echo "$PARSED_RESULTS" | jq -s | jq -r '.[] | select(.conclusion != ":white_check_mark:")'
for row in $(echo "$PARSED_RESULTS" | jq -s | jq -r '.[] | select(.conclusion != ":white_check_mark:")'); do
ALL_SUCCESS=false
break
done
echo "Success: $ALL_SUCCESS"

echo all_success=$ALL_SUCCESS >> $GITHUB_OUTPUT

FORMATTED_RESULTS=$(echo $PARSED_RESULTS | jq -s '[.[]
| {
conclusion: .conclusion,
cap: .cap,
html_url: .html_url
}
]
| map("{\"type\": \"section\", \"text\": {\"type\": \"mrkdwn\", \"text\": \"<\(.html_url)|\(.cap)>: \(.conclusion)\"}}")
| join(",")')

echo "Formatted Results:"
echo $FORMATTED_RESULTS

# Cleans out backslashes and quotes from jq
CLEAN_RESULTS=$(echo "$FORMATTED_RESULTS" | sed 's/\\\"/"/g' | sed 's/^"//;s/"$//')

echo "Clean Results"
echo $CLEAN_RESULTS

echo results=$CLEAN_RESULTS >> $GITHUB_OUTPUT
- name: Post Results
uses: slackapi/slack-github-action@e28cf165c92ffef168d23c5c9000cffc8a25e117 # v1.24.0
env:
SLACK_BOT_TOKEN: ${{ inputs.slack_bot_token }}
with:
channel-id: ${{ inputs.slack_channel_id }}
payload: |
{
"thread_ts": "${{ inputs.slack_thread_ts }}",
"attachments": [
{
"color": "${{ steps.test-results.outputs.all_success == 'true' && '#2E7D32' || '#C62828' }}",
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": "${{ inputs.message_title }} ${{ steps.test-results.outputs.all_success == 'true' && ':white_check_mark:' || ':x:'}}",
"emoji": true
}
},
{
"type": "divider"
},
${{ steps.test-results.outputs.results }}
]
}
]
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
130 changes: 130 additions & 0 deletions .github/actions/setup-create-base64-config-live-testnets/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
name: Create Base64 Config
description: A composite action that creates a base64-encoded config to be used by integration tests

inputs:
runId:
description: The run id
testLogCollect:
description: Whether to always collect logs, even for passing tests
default: "false"
chainlinkImage:
description: The chainlink image to use
default: "public.ecr.aws/chainlink/chainlink"
chainlinkVersion:
description: The git commit sha to use for the image tag
pyroscopeServer:
description: URL of Pyroscope server
pyroscopeEnvironment:
description: Name of Pyroscope environment
pyroscopeKey:
description: Pyroscope server key
lokiEndpoint:
description: Loki push endpoint
lokiTenantId:
description: Loki tenant id
lokiBasicAuth:
description: Loki basic auth
logstreamLogTargets:
description: Where to send logs (e.g. file, loki)
grafanaUrl:
description: Grafana URL
grafanaDashboardUrl:
description: Grafana dashboard URL
network:
description: Network to run tests on
httpEndpoints:
description: HTTP endpoints to use for network
wsEndpoints:
description: WS endpoints to use for network
fundingKeys:
description: Funding keys to use for network

runs:
using: composite
steps:
- name: Prepare Base64 TOML override
shell: bash
id: base64-config-override
env:
RUN_ID: ${{ inputs.runId }}
PYROSCOPE_SERVER: ${{ inputs.pyroscopeServer }}
PYROSCOPE_ENVIRONMENT: ${{ inputs.pyroscopeEnvironment }}
PYROSCOPE_KEY: ${{ inputs.pyroscopeKey }}
CHAINLINK_IMAGE: ${{ inputs.chainlinkImage }}
CHAINLINK_VERSION: ${{ inputs.chainlinkVersion }}
LOKI_ENDPOINT: ${{ inputs.lokiEndpoint }}
LOKI_TENANT_ID: ${{ inputs.lokiTenantId }}
LOKI_BASIC_AUTH: ${{ inputs.lokiBasicAuth }}
LOGSTREAM_LOG_TARGETS: ${{ inputs.logstreamLogTargets }}
GRAFANA_URL: ${{ inputs.grafanaUrl }}
GRAFANA_DASHBOARD_URL: ${{ inputs.grafanaDashboardUrl }}
NETWORK: ${{ inputs.network }}
HTTP_ENDPOINTS: ${{ inputs.httpEndpoints }}
WS_ENDPOINTS: ${{ inputs.wsEndpoints }}
FUNDING_KEYS: ${{ inputs.fundingKeys }}
run: |
convert_to_toml_array() {
local IFS=','
local input_array=($1)
local toml_array_format="["

for element in "${input_array[@]}"; do
toml_array_format+="\"$element\","
done

toml_array_format="${toml_array_format%,}]"
echo "$toml_array_format"
}

if [ -n "$PYROSCOPE_SERVER" ]; then
pyroscope_enabled=true
else
pyroscope_enabled=false
fi

cat << EOF > config.toml
[Common]
chainlink_node_funding=0.5

[ChainlinkImage]
image="$CHAINLINK_IMAGE"
version="$CHAINLINK_VERSION"

[Pyroscope]
enabled=$pyroscope_enabled
server_url="$PYROSCOPE_SERVER"
environment="$PYROSCOPE_ENVIRONMENT"
key="$PYROSCOPE_KEY"

[Logging]
run_id="$RUN_ID"

[Logging.LogStream]
log_targets=$(convert_to_toml_array "$LOGSTREAM_LOG_TARGETS")

[Logging.Loki]
tenant_id="$LOKI_TENANT_ID"
endpoint="$LOKI_URL"
basic_auth="$LOKI_BASIC_AUTH"

[Logging.Grafana]
base_url="$GRAFANA_URL"
dashboard_url="$GRAFANA_DASHBOARD_URL"

[Network]
selected_networks=["$NETWORK"]

[Network.RpcHttpUrls]
"$NETWORK" = $(convert_to_toml_array "$HTTP_ENDPOINTS")

[Network.RpcWsUrls]
"$NETWORK" = $(convert_to_toml_array "$WS_ENDPOINTS")

[Network.WalletKeys]
"$NETWORK" = $(convert_to_toml_array "$FUNDING_KEYS")
EOF

BASE64_CONFIG_OVERRIDE=$(cat config.toml | base64 -w 0)
echo ::add-mask::$BASE64_CONFIG_OVERRIDE
echo "BASE64_CONFIG_OVERRIDE=$BASE64_CONFIG_OVERRIDE" >> $GITHUB_ENV
touch .root_dir
Loading
Loading