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.6.0 -> master #10997

Merged
merged 325 commits into from
Oct 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
325 commits
Select commit Hold shift + click to select a range
50d5570
[TT-549] Renable Live Test Runs (#10379)
kalverra Sep 1, 2023
ceea5fb
remove check for finality depth in bhs and bhf. Do not update interna…
jinhoonbang Sep 2, 2023
2d574be
Upgrade forge-std to 1.6.0 (#10459)
justinkaseman Sep 2, 2023
5b78a81
add foundry refresh make command (#10442)
RensR Sep 2, 2023
6954c90
Add debug logs when updating lastPoll / lastRepoll block (#10461)
infiloop2 Sep 2, 2023
2837baf
bump pyroscope; use new import paths (#10463)
jmank88 Sep 3, 2023
528dfc6
[AUTO-4790] increase delta stage for integration-tests (#10398)
anirudhwarrier Sep 4, 2023
39f7cde
chore: skip ocr2vrf tests (#10448)
makramkd Sep 4, 2023
fe6fd64
Fix bug in updating last poll block for filter (#10462)
infiloop2 Sep 4, 2023
f07c491
chore: fix shared snapshot (#10471)
makramkd Sep 4, 2023
200970a
Show job runs for disabled chains (#10401)
george-dorin Sep 4, 2023
2afd9c2
Return all logs even if seen before (#10473)
ferglor Sep 4, 2023
c38b862
Add RequestID field to Transactions (#10363)
amit-momin Sep 5, 2023
0e2d15a
Increase block time sample size (#10482)
infiloop2 Sep 5, 2023
08e1bae
Small cleanup in event provider for caching behaviour (#10483)
infiloop2 Sep 5, 2023
5aadc9c
bump deps google/uuid, shirou/gopsutil/v3, avast/retry-go/v4, jackc/p…
jmank88 Sep 5, 2023
c40169c
fix/gh-actions-setup-postgres: fixing script to be resilient to array…
patrickhuie19 Sep 6, 2023
19eb5fc
core: use loop.Keystore, support arbitrarily prefixed Cosmos addresse…
cfal Sep 6, 2023
43030bd
shadow: declaration of err shadows declaration at line * (govet) (#10…
jmank88 Sep 6, 2023
3bf936a
HasFilter to check whether some filter was loaded by the poller (#10469)
amirylm Sep 6, 2023
94d05b7
Allow burst in log recoverer when it lags (#10479)
infiloop2 Sep 6, 2023
e43bdf4
Update ocr2keepers v0.7.20 (#10486)
amirylm Sep 6, 2023
3c9cf01
Remove explicit checkblock too old check and rely on rpc, add a check…
infiloop2 Sep 6, 2023
37f3880
Using minmax heap for Mercury transmission queue to evict oldest tran…
sdrug Sep 6, 2023
1176a8c
Upkeep filters life cycle: avoid replying logs for existing filters (…
amirylm Sep 6, 2023
2ff674b
Additional even emitting + sanity checks + version (#10419)
Fletch153 Sep 6, 2023
da3e611
[VRF] opt out of snapshot checks (#10491)
vreff Sep 6, 2023
a53b972
BCF-2564: take new loop relayer interface (#10430)
krehermann Sep 6, 2023
b5e6207
golangci-lint tweaks (#10510)
jmank88 Sep 6, 2023
a15bcd8
[Automation] Update docker scripts (#10516)
vreff Sep 6, 2023
ad22c6e
Seed order to manage logs overflow (#10485)
amirylm Sep 6, 2023
6f8a302
BCF-2497: Refactoring sessions orm query pattern to avoid a confusing…
patrickhuie19 Sep 6, 2023
0e3b379
Switch integration tests to nightly (#10520)
davidcauchi Sep 6, 2023
a0e97cf
TT-562 Improved load test client contract (#10504)
KuphJr Sep 6, 2023
c3d94fa
Added log for decryption queue error (#10517)
KuphJr Sep 6, 2023
2c0cb9c
(test): Add Functions Subscriptions foundry tests (#10435)
justinkaseman Sep 6, 2023
3a98db6
Add batch size backoff in log poller insert logs (#10525)
infiloop2 Sep 6, 2023
a1040eb
address lingering clean up and todos after BCF-2441 & BCF-2564 (#10521)
krehermann Sep 6, 2023
a87a7e6
Resolve TODOs in registry and provider life cycle (#10477)
infiloop2 Sep 6, 2023
55be162
(feat): Add Gateways to Functions core/scripts oracle.toml template (…
justinkaseman Sep 6, 2023
3dfb527
Update Simulated Backend Client (#10403)
EasterTheBunny Sep 6, 2023
e5487f0
Create CI checks for GQL schema changes (#7492)
HenryNguyen5 Sep 6, 2023
a7dc6f1
(test): Add ToS Allow List foundry tests (#10438)
justinkaseman Sep 6, 2023
8f61ff2
Fix data race in PersistenceManager tests (#10394)
martin-cll Sep 7, 2023
9586f07
Upsert only if we filter store had a registered filter before (#10531)
infiloop2 Sep 7, 2023
f6586c0
chore: add subscription api forge tests (#10446)
makramkd Sep 7, 2023
dcf265d
add more info to pipeline transmitter error (#10537)
infiloop2 Sep 7, 2023
72d431e
[TT-418] automation e2e docker migration (#10432)
tateexon Sep 7, 2023
4e6ab6d
Improve checkBlockTooOld error detection (#10536)
infiloop2 Sep 7, 2023
b435d93
move CLI update to dev section in changelog
aalu1418 Sep 7, 2023
f3ff316
Merge pull request #10541 from smartcontractkit/update/changelog-cli-fix
chainchad Sep 7, 2023
c325f96
Include logBlockHash in trigger and workID (#10476)
infiloop2 Sep 7, 2023
8f6c038
include forwarder address in ocr2 config (#10532)
eutopian Sep 7, 2023
95e5df2
Performed events scanner: batch calls to log poller (#10546)
amirylm Sep 7, 2023
b22efb8
(test): Add Functions Router foundry tests (#10460)
justinkaseman Sep 7, 2023
d9cddb8
Remove check block too new check (#10545)
infiloop2 Sep 7, 2023
247918e
core/services/vrf/v2: fix nolint comment (#10552)
jmank88 Sep 7, 2023
a8c921b
avoid logging if context is done (#10553)
RyanRHall Sep 7, 2023
81d1984
[Functions] Various housecleaning (#10509)
justinkaseman Sep 8, 2023
7d44d7b
[Functions] Minor contract fixes (#10511)
justinkaseman Sep 8, 2023
1347424
WIP (#10542)
cedric-cordenier Sep 8, 2023
b338b71
update log recoverer to update the block time periodically (#10544)
RyanRHall Sep 8, 2023
0b1814d
add CI, refactor for more test groups (#10558)
skudasov Sep 8, 2023
6daa8ff
[BCF-2365] Consolidate *Provider Constructors into One (#10475)
cedric-cordenier Sep 8, 2023
47ef226
Retrieve native/LINK fee directly from report (#10539)
samsondav Sep 8, 2023
ebc6a02
finalize mercury 0.3 integration details (#10538)
FelixFan1992 Sep 8, 2023
fda3b1b
raise timeouts (#10563)
skudasov Sep 8, 2023
70c360e
[Automation] Fixes to chaincli for Automation v2.1 (#10540)
vreff Sep 8, 2023
52b1b8c
Bump chainlink-relay to e2f9fcf758d81e9d8882610470f06aeb379938f8 (#10…
samsondav Sep 8, 2023
3dd2523
smoke test for setUpkeepTriggerConfig (#10530)
shileiwill Sep 8, 2023
d13f179
clean up shadows, logs, typos etc (#10533)
FelixFan1992 Sep 8, 2023
0b26676
bump prettier, solhint & eslint (#10569)
RensR Sep 8, 2023
4620df0
Update to ocr2keepers 0.7.22 (#10568)
infiloop2 Sep 8, 2023
a4ae3d4
[Functions] Subscription deposit (#10513)
justinkaseman Sep 8, 2023
dc6e52b
Batch insert records into the upkeep state store (#10488)
ferglor Sep 8, 2023
5dbc5dd
move networks to CTF (#10434)
AnieeG Sep 8, 2023
cc85898
Thread control utility (#10560)
amirylm Sep 8, 2023
d3dfc5c
(chore): Update Functions v1 single line comments to nat spec (#10567)
justinkaseman Sep 8, 2023
f678a4c
Pass de-duped block list to fillRemainingBlocks() (#10554)
reductionista Sep 9, 2023
ecd650f
update streams lookup contracts (#10524)
FelixFan1992 Sep 9, 2023
f2bcbbf
[VRF-616] Skip flaky VRF test (#10572)
vreff Sep 11, 2023
dc3272d
Add mercury contract wrappers (#10492)
lukaszcl Sep 11, 2023
36db6a4
update block time calculation (#10576)
infiloop2 Sep 11, 2023
09d1534
Resolve data races when closing services (#10535)
amirylm Sep 11, 2023
e8214f2
bumg golangci-lint 1.54.2 (#10265)
jmank88 Sep 11, 2023
9293132
Update test coverage for trusted blockhash store and VRFv2+ Wrapper (…
vreff Sep 11, 2023
8cba02a
Update to ocr2keepers v0.7.23 (#10582)
infiloop2 Sep 11, 2023
2e1014a
BCF-2636: add core node metrics path to service discovery (#10578)
krehermann Sep 11, 2023
f70283a
add legacy URL for mercury credentials (#10518)
FelixFan1992 Sep 11, 2023
6c2c10d
BCF-2605 clean up Configs (#10551)
krehermann Sep 11, 2023
7e4473c
Bump tdh2 dep version (#10573)
bolekk Sep 11, 2023
2d40de4
delete unused code (#10588)
krehermann Sep 11, 2023
9269ec0
[Functions] Fix signature validation for empty payloads (#10579)
bolekk Sep 11, 2023
c23b078
Small improvements to log recoverer (#10575)
infiloop2 Sep 11, 2023
7fa327e
Add extra sanity checks to config poller and contract transmitter (#1…
bolekk Sep 12, 2023
5db043c
Add reentrancy guard to VRFCoordinatorV2Mock to align its behaviour w…
kidambisrinivas Sep 12, 2023
627694c
[fix] Complete the test parsing if the test command returns a non-zer…
cedric-cordenier Sep 12, 2023
3b55fbd
Coverage issue fix (#10598)
simsonraj Sep 12, 2023
3ac616a
Ignore fuzz tests in gas snapshot (#10580)
matYang Sep 12, 2023
079f749
Functions: fixing S4 ORM (#10596)
Sep 12, 2023
aec8c75
Bumping chainlink-relay to the version that contains CCIP plugin type…
mateusz-sekara Sep 12, 2023
e161477
[TT-526] Allow Parallel Tests To Work (#10591)
tateexon Sep 12, 2023
bb06998
Skip Smoke Tests Label (#10584)
kalverra Sep 12, 2023
c5c733f
Remove redundant operator-ui CI comments (#10602)
HenryNguyen5 Sep 12, 2023
1d425b9
Fix Live Test Reporting (#10586)
kalverra Sep 12, 2023
fae227d
[fix] Skip non-JSON lines (#10605)
cedric-cordenier Sep 12, 2023
409c5f3
Start E2E cl docker image with retries (#10571)
tateexon Sep 12, 2023
645a6f3
Fix golangci-lint (#10555)
HenryNguyen5 Sep 12, 2023
43080c2
Foundry tests for VRFCoordinatorV2Mock.sol (#10606)
kidambisrinivas Sep 12, 2023
4fca701
[VRF-617] Disable flaky VRF test with TODO (#10590)
vreff Sep 12, 2023
cabe17c
Bump relay => fec1da7953fc340889554d22cc73ec2981f6eda9 (#10583)
samsondav Sep 12, 2023
7d74c39
Fix Mercury Persistence Manager test flake (#10574)
martin-cll Sep 12, 2023
73322fa
Add log when allowlist routeID is unset (#10611)
KuphJr Sep 12, 2023
2f042f2
update streams lookup contracts (#10607)
FelixFan1992 Sep 13, 2023
72139e1
[fix] Flakey test runner fixes (#10614)
cedric-cordenier Sep 13, 2023
bfcbb31
Rename Cosmos FeeToken to GasToken (#10595)
calvwang9 Sep 13, 2023
c3305b1
Fixed broken tests from PRD alignment (#10619)
Fletch153 Sep 13, 2023
11cf30e
Merge branch 'develop' into chore/release/2.5.0
chainchad Sep 13, 2023
128412c
Update format of changelog
chainchad Sep 13, 2023
f1ee0b8
Merge pull request #10624 from smartcontractkit/chore/release/2.5.0
chainchad Sep 13, 2023
0aeb8f5
Add Arbitrum Sepolia chain ID to ChainSpecificUtil.sol (#10615)
kidambisrinivas Sep 13, 2023
e197ff9
Move 2 1 automation out of dev (#10587)
RyanRHall Sep 13, 2023
e027262
Use an interface to standardize all docker container set up for vario…
kidambisrinivas Sep 13, 2023
4a2fc41
[Functions] Enforce uniform coordinator addresses in OCR batches (#10…
bolekk Sep 13, 2023
50134ee
Auto 4601/add log retry integration test (#10355)
EasterTheBunny Sep 13, 2023
bed0a94
Prom metrics on missing/error count for mercury querying price feed (…
samsondav Sep 13, 2023
18cd6e4
Updates README for new method of running tests (#10629)
kalverra Sep 13, 2023
350c3d4
BCF-2324: isolate evm tables in specific schema (#10609)
krehermann Sep 13, 2023
c20e22e
Bump reviewdog/action-actionlint from 1.37.1 to 1.38.0 (#10522)
dependabot[bot] Sep 13, 2023
0887ddc
add automation-2-1-license (#10633)
RyanRHall Sep 13, 2023
8826bb9
fix: ensure tx state != unstarted when attempts are returned (#10630)
aalu1418 Sep 13, 2023
411c119
Fixes Key Collision Bug (#10631)
kalverra Sep 13, 2023
cc4ffed
update missed trigger in move to evm schema (#10634)
krehermann Sep 14, 2023
3f1ec39
test tweaks (#10636)
jmank88 Sep 14, 2023
c4557c1
Remove Explorer (#10581)
skubakdj Sep 14, 2023
1745eab
Remove deployments for the integration environment (#10594)
HenryNguyen5 Sep 14, 2023
77dfb66
[BCF-2506] Fix: id instead of legacy evmChainId in errors verbatim (#…
chudilka1 Sep 14, 2023
61af225
[TT-593] Don't Fail Workflow On E2E Smoke Go Cache (#10642)
tateexon Sep 14, 2023
fe3f7d4
lock foundry version (#10616)
RensR Sep 14, 2023
d6363e0
Pump the Brakes (#10646)
kalverra Sep 14, 2023
d43a809
[Gateway] Fix address lookup in handlers (#10637)
bolekk Sep 14, 2023
c9e080b
BCF-2492 Remove evm default chain id (#10490)
ilija42 Sep 14, 2023
2c1a164
[Functions] Enforce max expiration length (#10638)
bolekk Sep 14, 2023
7400833
Adds Log Collection on Failing Test (#10632)
kalverra Sep 14, 2023
25af2dd
Fix typo (#10649)
kalverra Sep 14, 2023
186d1d9
[Gateway] Use named loggers in all sub-components (#10639)
bolekk Sep 14, 2023
0f6f84b
[Gateway] Return 400 HTTP code on handler errors (#10652)
bolekk Sep 14, 2023
5570d5a
Allow workflow to be dispatched (#10651)
chainchad Sep 14, 2023
d407306
[TT-591] Parallel Test Logging E2E Fixes (#10610)
tateexon Sep 14, 2023
04665a7
Update setConfigFromSource to force config count (#10472)
austinborn Sep 14, 2023
eccbeef
[chore] Fix false positive when running tests in the root-level direc…
cedric-cordenier Sep 15, 2023
a97547d
Update delete-deployments.yml (#10662)
sebawo Sep 15, 2023
05f9558
Read the length of pending records while locked (#10661)
ferglor Sep 15, 2023
5036be4
Add more logging on mercury server price query errors (#10644)
samsondav Sep 15, 2023
9f19654
Prefix contract dir names which start w/ a digit (#10655)
KuphJr Sep 15, 2023
0659b05
[Gateway] Basic prom counters (#10659)
bolekk Sep 15, 2023
5f540a7
Test for directories and files with digit prefix (#10667)
KuphJr Sep 15, 2023
f6256c3
EvmFeeEstimator return Optimistic Rollup's L1BaseFee (#10557)
matYang Sep 16, 2023
8b96864
Bump smartcontractkit/chainlink-github-actions from 2.2.12 to 2.2.13 …
dependabot[bot] Sep 17, 2023
157870f
Added 0x7b transaction type for celo (#10660)
finleydecker Sep 17, 2023
fb645c1
Backporting LogPoller's function used in CCIP (#10645)
mateusz-sekara Sep 18, 2023
c92d623
Update Operator UI from v0.8.0-95ae9da to v0.8.0-197331a (#10564)
app-token-issuer-infra-releng[bot] Sep 18, 2023
1eda1ee
Set trigger config when node cannot find setConfig logs during refres…
infiloop2 Sep 18, 2023
4c2c36d
Change the inBackupHealthReport status code to 204 (No content) (#10673)
george-dorin Sep 18, 2023
53b9842
Bump relay to 2119b4e577d1876ac06a345a8db639f919839369 (#10675)
samsondav Sep 18, 2023
1bb0c1a
Functions: tracking subscriptions (#10613)
Sep 18, 2023
78c8214
Enables Us to Skip More Tests (#10678)
kalverra Sep 18, 2023
aadc467
Chore/vrf 585 add ctf test vrfv2plus migration (#10450)
iljapavlovs Sep 18, 2023
617af45
Removed pg opts from VRF CreateTransaction calls (#10664)
amit-momin Sep 18, 2023
6e86a70
(test): Functions foundry tests use OCR contracts & a higher tx.gaspr…
justinkaseman Sep 18, 2023
d4e9b28
core/services: health Checker cleanup (#10670)
jmank88 Sep 18, 2023
73966ef
core/services/chainlink: log warn instead of error if CSA key not ava…
jmank88 Sep 18, 2023
c8762ee
Improve Testnet Notifications (#10681)
kalverra Sep 18, 2023
eba9a27
BCF-2637 Add evm chain id removal migrations (#10669)
ilija42 Sep 18, 2023
844516f
[Functions] Fix missing items in subscriptions checker (#10696)
bolekk Sep 19, 2023
fa22dc3
core/services/ocr2/validate: bump minOCR2MaxDurationQuery to 100ms (#…
jmank88 Sep 19, 2023
1eb0fac
Bump chainlink-relay => 8a0b08df72a32b04c377f6f1c698a03ca5b2a1bf (#10…
samsondav Sep 19, 2023
2cafadb
Format Block Number As Hex (#10680)
EasterTheBunny Sep 19, 2023
562ac5c
BCF-2155: plugins: update readme (#10701)
jmank88 Sep 19, 2023
7db18d9
[BCF-2488] Fix flake in TestShell_Autologin (and others) (#10677)
cedric-cordenier Sep 19, 2023
2dcb827
[VRF-618] Fix VRFV2Plus tests with blockhash update (#10705)
vreff Sep 19, 2023
ebbd972
Bump libocr => dbd4e505b3e6fe6564150a71d61302fffc7fd0bc (#10691)
samsondav Sep 19, 2023
df9c499
Increase default ocr2 automation gas limit to 14.5M (#10706)
infiloop2 Sep 19, 2023
af1f6e7
Verify with single payment token (#10603)
austinborn Sep 19, 2023
c827d6a
Fix VRF foundry tests for nightly build version (#10717)
vreff Sep 19, 2023
9015419
[TT-577] Finally Fixes Scheduled Runs (#10707)
kalverra Sep 19, 2023
c32eb83
Update fluxmonitor to use IdempotencyKey when creating Tx (#10589)
amit-momin Sep 19, 2023
c0389f2
Improved logs (#10668)
KuphJr Sep 20, 2023
334587c
Bump npm dependencies (#10679)
RensR Sep 20, 2023
51b040f
Recoverer: limit the number of pending payloads for an upkeep (#10712)
amirylm Sep 20, 2023
3641870
add finality depth contraint in block subscriber (#10686)
FelixFan1992 Sep 20, 2023
b378676
swap txIndex for timestamp (#10687)
RyanRHall Sep 20, 2023
8139563
BCF-2657: core/services: track spawned job services via the health ch…
jmank88 Sep 20, 2023
65271fd
[VRF-567] Mercury price feed registry (#10348)
vreff Sep 20, 2023
0ff4d7c
Data Streams v0.3 On-Chain Audit Feedback (#10658)
austinborn Sep 20, 2023
9f640d5
Update llo versions and organization (#10727)
austinborn Sep 20, 2023
c0b9d50
GHA And I Are In A Fight (#10730)
kalverra Sep 20, 2023
3de3a4b
Improve check block too old detection (#10736)
infiloop2 Sep 20, 2023
2584384
@chainlink.contracts release v0.7.1 (#10740)
chainchad Sep 20, 2023
347541a
RE-1902 Use single, large runner for core tests (#10604)
HenryNguyen5 Sep 20, 2023
7b8e30e
Calm Down Runs (#10741)
kalverra Sep 21, 2023
c1dee6c
add IndexedLogsByTxHash & index (#10731)
RensR Sep 21, 2023
7ca79f5
[fix] Handle panics correctly in the flakey test runner (#10734)
cedric-cordenier Sep 21, 2023
446615c
Bugfixes for auto v2.0 (#10723)
infiloop2 Sep 21, 2023
e1896a8
core/services/relay: fix backwards maps.Copy (#10745)
jmank88 Sep 21, 2023
48ad8fb
feature: add vrf smoke superscript (#10739)
makramkd Sep 21, 2023
15e8d93
[Functions] Fix bugs in s4 plugin (#10742)
bolekk Sep 21, 2023
a2af399
Fix SQ regex for ci tests output (#10746)
ilija42 Sep 21, 2023
6f7e6b8
Always and != Skipped (#10749)
kalverra Sep 21, 2023
5b80ba6
Insert time interval based heartbeats in BHS store (#10682)
kidambisrinivas Sep 21, 2023
175d70c
go 1.21.1 (#10125)
jmank88 Sep 21, 2023
26652d7
BCFG-2637 Change evmChainID not null migration to use env var to inje…
ilija42 Sep 21, 2023
90cf087
Don't Run on Cancelled (#10751)
kalverra Sep 21, 2023
409fb6d
Update Functions scripts oracle.toml template (#10755)
justinkaseman Sep 22, 2023
90a0a37
Gateway: improving client script (#10744)
Sep 22, 2023
24bf496
Handle panic due to lack of cmd override (#10758)
cedric-cordenier Sep 22, 2023
1734717
VRF-591: add ctf test for VRF V2 Plus direct funding (#10721)
iljapavlovs Sep 22, 2023
ed001d6
fix: solidity required prettier check (#10761)
momentmaker Sep 22, 2023
6932aba
Upgrade ocr2keepers with improvement for conditionals (#10763)
infiloop2 Sep 22, 2023
2ff2681
G601: Implicit memory aliasing in for loop. (#10577)
jmank88 Sep 22, 2023
6cea70e
bump chainlink-relay for loop logger fix (#10770)
jmank88 Sep 24, 2023
57dca4d
Devspace integration mercury (#10747)
skudasov Sep 24, 2023
61f683e
[Functions] Use MinIncomingConfirmations in LogPollerWrapper (#10775)
bolekk Sep 25, 2023
06a0f1e
Handle racy edge cases in tx hash verification & handle nil latestBlo…
infiloop2 Sep 25, 2023
4d63757
Bump reviewdog/action-actionlint from 1.38.0 to 1.39.0 (#10719)
dependabot[bot] Sep 25, 2023
fe7ae1b
[Functions] Minor logging improvements (#10774)
bolekk Sep 25, 2023
7a4c2bd
plugins: standardize server API and errors (#10771)
jmank88 Sep 25, 2023
772c8a0
bump go-toml to 2.1.0 (#10769)
jmank88 Sep 25, 2023
8c59c1e
Support querying contract state for config in vanilla OCR2 and mercur…
samsondav Sep 25, 2023
699c7e4
[TT-607] Update usage of default ocr2 onchain config (#10780)
tateexon Sep 25, 2023
54223e7
update to latest ocr2keepers (#10779)
infiloop2 Sep 25, 2023
661dd01
Fix incorrectly usage pipeline_specs.id instead of jobs.id (#10781)
samsondav Sep 25, 2023
98ae768
Revert "core/services/chainlink: log warn instead of error if CSA key…
jmank88 Sep 25, 2023
6dc2b6d
Fix, move version 2.5.0 in changelog from unreleased (#10738)
chudilka1 Sep 25, 2023
13f4986
BCF-2508: cleanup evm config for chain, relayer, and relayer factory …
krehermann Sep 25, 2023
a9a5120
rename VRF V2 plus to V2_5. rename eth to native (#10656)
jinhoonbang Sep 25, 2023
739bfae
[Functions] Improved listener log message (#10787)
bolekk Sep 26, 2023
95989d7
[Gateway] Simple healthcheck endpoint (#10786)
bolekk Sep 26, 2023
fa12959
bump chainlink-relay for logger fix (#10791)
jmank88 Sep 26, 2023
5e4d5f5
Remove Explorer from docker-compose setup (#10729)
skubakdj Sep 26, 2023
b0940c0
fix/BCF-2601-simple-passwords: reverting simple passwords notificatio…
patrickhuie19 Sep 26, 2023
b63399b
[Gateway] Add extra checks (#10788)
bolekk Sep 26, 2023
3aa7a8d
S4 improvements and fixing bugs (#10789)
Sep 26, 2023
539591d
Parse chain ID as 64-bit integer (#10795)
samsondav Sep 26, 2023
0b463be
[Gateway] Don't save node responses with incorrect method name (#10796)
bolekk Sep 26, 2023
c384d14
Update Operator UI from v0.8.0-197331a to v0.8.0-a8fbbb3 (#10693)
app-token-issuer-infra-releng[bot] Sep 26, 2023
6b0124e
Bump version and update CHANGELOG for core v2.6.0
chainchad Sep 26, 2023
2973566
core/plugins: fix logger field reference (#10815) (#10817)
patrickhuie19 Sep 27, 2023
d02ebbd
Fix automation - mercury v0.3 response decoding (#10812) (#10818)
infiloop2 Sep 27, 2023
8392f18
Finalize date on changelog for 2.6.0 (#10996)
snehaagni Oct 18, 2023
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
  •  
  •  
  •  
59 changes: 59 additions & 0 deletions .github/actions/delete-deployments/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Delete Deployments
description: Delete deployments by env and ref
inputs:
environment:
required: true
description: The Github environment to filter deployments by
ref:
required: true
description: The ref to filter deployments by
dry-run:
required: false
description: Whether to actually delete deployments or not
github-token:
description: "The Github token to use for authentication"
required: true
default: ${{ github.token }}
num-of-pages:
required: false
description: The number of pages (of 100 per page) to fetch deployments from, set to 'all' to fetch all deployments
default: "all"
starting-page:
required: false
description: The page to start fetching deployments from, only valid if num-of-pages is set to a number
repository:
required: false
description: The owner and repository name to delete deployments from, defaults to the current repository, ex. 'smartcontractkit/chainlink'
default: ${{ github.repository }}

runs:
using: composite
steps:
- uses: pnpm/action-setup@c3b53f6a16e57305370b4ae5a540c2077a1d50dd #v2.2.4
with:
version: ^8.0.0

- uses: actions/setup-node@v3
with:
node-version: "18"
cache: "pnpm"
cache-dependency-path: "./.github/actions/delete-deployments/pnpm-lock.yaml"

- name: Install dependencies
shell: bash
run: pnpm i --prod
working-directory: "./.github/actions/delete-deployments"

- name: Run deployment deleter
shell: bash
run: pnpm start
env:
NUM_OF_PAGES: ${{ inputs.num-of-pages }}
STARTING_PAGE: ${{ inputs.starting-page }}
GITHUB_TOKEN: ${{ inputs.github-token }}
ENVIRONMENT: ${{ inputs.environment }}
REF: ${{ inputs.ref }}
DRY_RUN: ${{ inputs.dry-run }}
OWNER: ${{ inputs.owner }}
REPOSITORY: ${{ inputs.repository }}
working-directory: "./.github/actions/delete-deployments"
232 changes: 232 additions & 0 deletions .github/actions/delete-deployments/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,232 @@
import { Octokit } from "@octokit/action";
import { info, warning, isDebug } from "@actions/core";
import { throttling } from "@octokit/plugin-throttling";
import { retry } from "@octokit/plugin-retry";

async function main() {
const {
dryRun,
environment,
numOfPages,
owner,
ref,
repo,
debug,
startingPage,
} = getInputs();
const octokit = getOctokit(debug);

const deployments = await getDeployments({
octokit,
owner,
repo,
environment,
ref,
paginateOptions: {
numOfPages,
startingPage,
},
});
const deploymentIds = deployments.map((d) => d.id);
if (dryRun) {
info(`Dry run: would delete deployments (${deploymentIds.length})`);
return;
}

info(`Deleting deployments (${deploymentIds.length})`);
const deleteDeployments = deploymentIds.map(async (id) => {
const sharedArgs = {
owner,
repo,
deployment_id: id,
request: {
retries: 0,
},
};

const setStatus = await octokit.repos
.createDeploymentStatus({
...sharedArgs,
state: "inactive",
})
.then(() => true)
.catch((e) => {
warning(
`Marking deployment id ${id} to "inactive" failed: ${e.message}`
);
return false;
});
if (!setStatus) return false;

return octokit.repos
.deleteDeployment({
...sharedArgs,
})
.then(() => true)
.catch((e) => {
warning(`Deleting deployment id ${id} failed: ${e.message}`);
return false;
});
});

const processed = await Promise.all(deleteDeployments);
const succeeded = processed.filter((p) => !!p);
info(
`Successfully deleted ${succeeded.length}/${processed.length} deployments`
);
}
main();

function getInputs() {
const debug = !!(process.env.DEBUG || isDebug());

const dryRun = process.env.DRY_RUN === "true";

const environment = process.env.ENVIRONMENT;
if (!environment) throw new Error("ENVIRONMENT not set");

const ref = process.env.REF;

const repository = process.env.REPOSITORY;
if (!repository) throw new Error("REPOSITORY not set");
const [owner, repo] = repository.split("/");

const rawStartingPage = process.env.STARTING_PAGE;

let startingPage: number | undefined;
if (rawStartingPage) {
startingPage = parseInt(rawStartingPage);
if (isNaN(startingPage)) {
throw new Error(`STARTING_PAGE is not a number: ${rawStartingPage}`);
}
if (startingPage < 0) {
throw new Error(
`STARTING_PAGE must be a positive integer or zero: ${rawStartingPage}`
);
}
info(`Starting from page ${startingPage}`);
}

const rawNumOfPages = process.env.NUM_OF_PAGES;
let numOfPages: "all" | number = "all";
if (rawNumOfPages === "all") {
info("Fetching all pages of deployments");
} else {
const parsedPages = parseInt(rawNumOfPages || "");
if (isNaN(parsedPages)) {
throw new Error(`NUM_OF_PAGES is not a number: ${rawNumOfPages}`);
}
if (parsedPages < 1) {
throw new Error(`NUM_OF_PAGES must be greater than 0: ${rawNumOfPages}`);
}
numOfPages = parsedPages;
}

if (numOfPages === "all" && startingPage) {
throw new Error(`Cannot use STARTING_PAGE with NUM_OF_PAGES=all`);
}

const parsedInputs = {
environment,
ref,
owner,
repo,
numOfPages,
startingPage,
dryRun,
debug,
};
info(`Configuration: ${JSON.stringify(parsedInputs)}`);
return parsedInputs;
}

function getOctokit(debug: boolean) {
const OctokitAPI = Octokit.plugin(throttling, retry);
const octokit = new OctokitAPI({
log: debug ? console : undefined,
throttle: {
onRateLimit: (retryAfter, options, octokit, retryCount) => {
octokit.log.warn(
// Types are busted from octokit
//@ts-expect-error
`Request quota exhausted for request ${options.method} ${options.url}`
);

octokit.log.info(`Retrying after ${retryAfter} seconds!`);
return true;
},
onSecondaryRateLimit: (_retryAfter, options, octokit) => {
octokit.log.warn(
// Types are busted from octokit
//@ts-expect-error
`SecondaryRateLimit detected for request ${options.method} ${options.url}`
);
return true;
},
},
});

return octokit;
}

async function getDeployments({
octokit,
owner,
repo,
environment,
ref,
paginateOptions,
}: {
octokit: ReturnType<typeof getOctokit>;
owner: string;
repo: string;
environment: string;
ref?: string;
paginateOptions: {
numOfPages: number | "all";
startingPage?: number;
};
}) {
const listDeploymentsSharedArgs: Parameters<
typeof octokit.repos.listDeployments
>[0] = {
owner,
repo,
environment,
ref,
per_page: 100,
request: {
retries: 20,
},
};

if (paginateOptions.numOfPages === "all") {
info(`Fetching all deployments`);
const deployments = await octokit.paginate(octokit.repos.listDeployments, {
...listDeploymentsSharedArgs,
});

return deployments;
} else {
info(
`Fetching ${
paginateOptions.numOfPages * listDeploymentsSharedArgs.per_page!
} deployments`
);
const deployments: Awaited<
ReturnType<typeof octokit.repos.listDeployments>
>["data"] = [];

const offset = paginateOptions.startingPage || 0;
for (let i = offset; i < paginateOptions.numOfPages + offset; i++) {
const deploymentPage = await octokit.repos.listDeployments({
...listDeploymentsSharedArgs,
page: i,
});

deployments.push(...deploymentPage.data);
}

return deployments;
}
}
25 changes: 25 additions & 0 deletions .github/actions/delete-deployments/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"name": "delete-deployments",
"version": "1.0.0",
"description": "",
"main": "index.ts",
"scripts": {
"start": "ts-node -T .",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@actions/core": "^1.10.1",
"@octokit/action": "^6.0.5",
"@octokit/plugin-retry": "^6.0.0",
"@octokit/plugin-throttling": "^7.0.0",
"ts-node": "^10.9.1"
},
"devDependencies": {
"@octokit/types": "^11.1.0",
"@types/node": "^18",
"typescript": "^5.2.2"
}
}
Loading
Loading