Skip to content

Commit 031985b

Browse files
authored
Merge branch 'master' into locks
2 parents 905ef96 + 3cc4fde commit 031985b

75 files changed

Lines changed: 1012 additions & 631 deletions

File tree

Some content is hidden

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

.github/workflows/pr-labeler.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,19 @@ jobs:
1111
permissions:
1212
pull-requests: write
1313
steps:
14+
- name: Create GitHub app token
15+
id: gh-app
16+
uses: actions/create-github-app-token@v3
17+
with:
18+
app-id: ${{ vars.APP_ID }}
19+
private-key: ${{ secrets.APP_PRIVATE_KEY }}
20+
21+
# Labels added with the default GITHUB_TOKEN do not emit workflow-triggering events, so
22+
# label-triggered runs (e.g. the reproducible benchmarks) never fired on auto-labeling.
1423
- name: Apply labels from PR template checkboxes
1524
uses: actions/github-script@v8
1625
with:
26+
github-token: ${{ steps.gh-app.outputs.token }}
1727
script: |
1828
// --- Checkbox rules ---
1929
const checkboxToLabel = {

.github/workflows/run-expb-reproducible-benchmarks.yml

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ on:
2626
options:
2727
- realblocks
2828
- superblocks
29+
- fusaka
2930
default: superblocks
3031
delay_seconds:
3132
description: Value used to replace <<DELAY>> placeholder (integer)
@@ -185,7 +186,7 @@ jobs:
185186
delay_seconds="${DISPATCH_DELAY_SECONDS:-0}"
186187
if [[ -n "${DISPATCH_AMOUNT}" ]]; then
187188
amount="${DISPATCH_AMOUNT}"
188-
elif [[ "${payload_set}" == "realblocks" ]]; then
189+
elif [[ "${payload_set}" == "realblocks" || "${payload_set}" == "fusaka" ]]; then
189190
amount="1000"
190191
else
191192
amount="100"
@@ -217,7 +218,7 @@ jobs:
217218
branch="${PR_HEAD_BRANCH}"
218219
state_layout="flat"
219220
payload_set="superblocks"
220-
payload_sets='["superblocks","realblocks"]'
221+
payload_sets='["superblocks","realblocks","fusaka"]'
221222
expb_repo="NethermindEth/execution-payloads-benchmarks"
222223
expb_branch="main"
223224
expb_data_dir="/mnt/sda/expb-data"
@@ -232,7 +233,7 @@ jobs:
232233
branch="${PUSH_BRANCH}"
233234
state_layout="flat"
234235
payload_set="superblocks"
235-
payload_sets='["superblocks","realblocks"]'
236+
payload_sets='["superblocks","realblocks","fusaka"]'
236237
expb_repo="NethermindEth/execution-payloads-benchmarks"
237238
expb_branch="main"
238239
expb_data_dir="/mnt/sda/expb-data"
@@ -311,8 +312,12 @@ jobs:
311312
config_file="github-action-compressed-mainnet-flat.yaml"
312313
elif [[ "${state_layout}" == "flat" && "${payload_set}" == "realblocks" ]]; then
313314
config_file="github-action-mainnet-flat.yaml"
315+
elif [[ "${state_layout}" == "flat" && "${payload_set}" == "fusaka" ]]; then
316+
config_file="github-action-mainnet-fusaka-flat.yaml"
314317
elif [[ "${state_layout}" == "halfpath" && "${payload_set}" == "superblocks" ]]; then
315318
config_file="github-action-compressed-mainnet.yaml"
319+
elif [[ "${state_layout}" == "halfpath" && "${payload_set}" == "fusaka" ]]; then
320+
config_file="github-action-mainnet-fusaka.yaml"
316321
else
317322
config_file="github-action-mainnet.yaml"
318323
fi
@@ -510,8 +515,12 @@ jobs:
510515
config_file="github-action-compressed-mainnet-flat.yaml"
511516
elif [[ "${STATE_LAYOUT}" == "flat" && "${PAYLOAD_SET}" == "realblocks" ]]; then
512517
config_file="github-action-mainnet-flat.yaml"
518+
elif [[ "${STATE_LAYOUT}" == "flat" && "${PAYLOAD_SET}" == "fusaka" ]]; then
519+
config_file="github-action-mainnet-fusaka-flat.yaml"
513520
elif [[ "${STATE_LAYOUT}" == "halfpath" && "${PAYLOAD_SET}" == "superblocks" ]]; then
514521
config_file="github-action-compressed-mainnet.yaml"
522+
elif [[ "${STATE_LAYOUT}" == "halfpath" && "${PAYLOAD_SET}" == "fusaka" ]]; then
523+
config_file="github-action-mainnet-fusaka.yaml"
515524
else
516525
config_file="github-action-mainnet.yaml"
517526
fi
@@ -573,7 +582,7 @@ jobs:
573582
run: |
574583
set -euo pipefail
575584
if [[ -z "${AMOUNT}" ]]; then
576-
if [[ "${PAYLOAD_SET}" == "realblocks" ]]; then
585+
if [[ "${PAYLOAD_SET}" == "realblocks" || "${PAYLOAD_SET}" == "fusaka" ]]; then
577586
AMOUNT="1000"
578587
else
579588
AMOUNT="100"
@@ -1074,13 +1083,24 @@ jobs:
10741083
restore-keys: |
10751084
expb-master-metrics-v3-realblocks-
10761085
1086+
- name: Restore master metrics (fusaka)
1087+
id: restore-master-fusaka
1088+
continue-on-error: true
1089+
uses: actions/cache/restore@v4
1090+
with:
1091+
path: /tmp/expb-master-metrics-cache-fusaka
1092+
key: expb-master-metrics-v3-fusaka-${{ github.event.pull_request.base.sha }}
1093+
restore-keys: |
1094+
expb-master-metrics-v3-fusaka-
1095+
10771096
- name: Build PR comparison comment
10781097
id: pr-comment
10791098
shell: bash
10801099
env:
10811100
METRICS_DIR: ${{ runner.temp }}/all-metrics
10821101
MASTER_SUPERBLOCKS: /tmp/expb-master-metrics-cache-superblocks/master-metrics.env
10831102
MASTER_REALBLOCKS: /tmp/expb-master-metrics-cache-realblocks/master-metrics.env
1103+
MASTER_FUSAKA: /tmp/expb-master-metrics-cache-fusaka/master-metrics.env
10841104
PAYLOAD_SETS: ${{ needs.resolve.outputs.payload_sets }}
10851105
STATE_LAYOUT: ${{ needs.resolve.outputs.state_layout }}
10861106
CLEAN_BRANCH: ${{ needs.resolve.outputs.clean_branch }}
@@ -1216,11 +1236,11 @@ jobs:
12161236
current_metrics="${METRICS_DIR}/expb-single-metrics-${ps}-run1/expb-metrics.env"
12171237
12181238
# Master metrics from cache
1219-
if [[ "${ps}" == "superblocks" ]]; then
1220-
master_metrics="${MASTER_SUPERBLOCKS}"
1221-
else
1222-
master_metrics="${MASTER_REALBLOCKS}"
1223-
fi
1239+
case "${ps}" in
1240+
superblocks) master_metrics="${MASTER_SUPERBLOCKS}" ;;
1241+
fusaka) master_metrics="${MASTER_FUSAKA}" ;;
1242+
*) master_metrics="${MASTER_REALBLOCKS}" ;;
1243+
esac
12241244
12251245
build_table "${ps}" "${current_metrics}" "${master_metrics}"
12261246
done

scripts/superchain.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
SUPERCHAIN_REPOSITORY = "https://github.com/ethereum-optimism/superchain-registry/archive/refs/heads/main.zip"
1919
IGNORED_CHAINS = ["arena-z-testnet", "creator-chain-testnet", "rehearsal-0-bn-0", "rehearsal-0-bn-1", "celo", "radius_testnet", "silent-data-mainnet"]
20-
IGNORED_L1S = ["sepolia-dev-0"]
20+
IGNORED_L1S = ["sepolia-dev-0", "sepolia-devnet-2"]
2121

2222

2323
def keccak(hex):

src/Nethermind/Nethermind.Api.Test/TestPlugin.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// SPDX-FileCopyrightText: 2022 Demerzel Solutions Limited
22
// SPDX-License-Identifier: LGPL-3.0-only
33

4-
using System.Threading.Tasks;
54
using Nethermind.Api.Extensions;
65

76
namespace Nethermind.Api.Test
@@ -11,7 +10,6 @@ public class TestPlugin : INethermindPlugin
1110
public string Name { get; }
1211
public string Description { get; }
1312
public string Author { get; }
14-
public Task Init(INethermindApi nethermindApi) => throw new System.NotImplementedException();
1513

1614
public bool Enabled => true;
1715
}

src/Nethermind/Nethermind.Api.Test/TestPlugin2.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// SPDX-FileCopyrightText: 2022 Demerzel Solutions Limited
22
// SPDX-License-Identifier: LGPL-3.0-only
33

4-
using System.Threading.Tasks;
54
using Nethermind.Api.Extensions;
65

76
namespace Nethermind.Api.Test
@@ -11,7 +10,6 @@ public class TestPlugin2 : INethermindPlugin
1110
public string Name { get; }
1211
public string Description { get; }
1312
public string Author { get; }
14-
public Task Init(INethermindApi nethermindApi) => throw new System.NotImplementedException();
1513

1614
public bool Enabled => true;
1715
}

src/Nethermind/Nethermind.Api/Extensions/INethermindPlugin.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// SPDX-FileCopyrightText: 2022 Demerzel Solutions Limited
22
// SPDX-License-Identifier: LGPL-3.0-only
33

4-
using System.Threading.Tasks;
54
using Autofac.Core;
65

76
namespace Nethermind.Api.Extensions;
@@ -16,8 +15,6 @@ public interface INethermindPlugin
1615

1716
void InitTxTypesAndRlpDecoders(INethermindApi api) { }
1817

19-
Task Init(INethermindApi nethermindApi) => Task.CompletedTask;
20-
2118
bool MustInitialize => false;
2219
bool Enabled { get; }
2320
IModule? Module => null;

src/Nethermind/Nethermind.AuRa.Test/AuRaPluginTests.cs

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,15 @@
11
// SPDX-FileCopyrightText: 2022 Demerzel Solutions Limited
22
// SPDX-License-Identifier: LGPL-3.0-only
33

4-
using System;
5-
using Autofac;
6-
using Nethermind.Api;
7-
using Nethermind.Config;
8-
using Nethermind.Consensus.AuRa;
94
using Nethermind.Consensus.AuRa.Config;
10-
using Nethermind.Consensus.AuRa.InitializationSteps;
115
using Nethermind.Core;
12-
using Nethermind.Core.Specs;
13-
using Nethermind.Core.Test.Modules;
14-
using Nethermind.Logging;
15-
using Nethermind.Serialization.Json;
166
using Nethermind.Specs;
17-
using Nethermind.Specs.ChainSpecStyle;
18-
using Nethermind.Specs.Test.ChainSpecStyle;
19-
using NSubstitute;
207
using NUnit.Framework;
218

229
namespace Nethermind.AuRa.Test
2310
{
2411
public class AuRaPluginTests
2512
{
26-
[Test]
27-
public void Init_when_not_AuRa_does_not_throw()
28-
{
29-
ChainSpec chainSpec = new();
30-
AuRaPlugin auRaPlugin = new(chainSpec);
31-
chainSpec.EngineChainSpecParametersProvider = new TestChainSpecParametersProvider(new AuRaChainSpecEngineParameters());
32-
using IContainer testNethermindContainer = new ContainerBuilder().AddModule(new TestNethermindModule()).Build();
33-
NethermindApi.Dependencies apiDependencies = new(
34-
new ConfigProvider(),
35-
new EthereumJsonSerializer(),
36-
new TestLogManager(),
37-
chainSpec,
38-
Substitute.For<ISpecProvider>(),
39-
[],
40-
Substitute.For<IProcessExitSource>(),
41-
testNethermindContainer);
42-
AuRaNethermindApi api = new(apiDependencies);
43-
Action init = () => auRaPlugin.Init(api);
44-
Assert.That(init, Throws.Nothing);
45-
}
46-
4713
[Test]
4814
public void ApplyToReleaseSpec_sets_Eip158IgnoredAccount()
4915
{

0 commit comments

Comments
 (0)