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

Pectra: fix merge conflicts #7170

Merged
merged 118 commits into from
Jun 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
8c5f4ab
Perf PatriciaTree.Run (#7002)
benaadams May 9, 2024
632dc71
Use existing array for precompile result (#7001)
benaadams May 9, 2024
5524a7a
Update chiado bootnodes (#7004)
kamilchodola May 10, 2024
649ca19
Remove subroutines (eip2315 withdrawn) (#7007)
benaadams May 10, 2024
354f8a3
Update Fast Sync configuration in Nethermind repository (#7011)
nethermind-machine May 13, 2024
6a55a67
Fix/6790 return accepted for rejected tx added to broadcast (#6889)
pxyxyrus May 13, 2024
4bb0df2
Add custom runner for Holesky and SnapSync for chiado (#7015)
kamilchodola May 13, 2024
bfd7c95
Fix commit in ClientVersionV1 to have only 4 bytes of info following …
smartprogrammer93 May 14, 2024
d392589
Use ArrayPool for Kzg.AreProofsValid (#7016)
benaadams May 14, 2024
b27593c
Wait for background JumpDestinationAnalysis if in progress (#7008)
benaadams May 14, 2024
c3fd8e8
Improve RPC tests action (#7018)
kamilchodola May 14, 2024
2076b24
Remove witness protocol support (#7020)
LukaszRozmej May 15, 2024
ff5da7b
Refactor/separate block production and running (#7012)
asdacap May 15, 2024
d67ea15
Remove/les protocol and canonical hash tree (#7022)
LukaszRozmej May 15, 2024
6cf7be5
Fix pyspec tests for Cancun state tests (#7019)
yerke26 May 15, 2024
efbe135
Add more pyspec tests for other forks (#7023)
yerke26 May 15, 2024
94dc760
Update KnownChainSizesTests.cs (#7028)
benaadams May 16, 2024
77a5ad1
Add more checks on sync testnet to avoid critical issues marked as su…
kamilchodola May 16, 2024
4fddf1b
Fix NPE on aura plugin (#7031)
asdacap May 16, 2024
f6aeae0
Set dedicated block cache for blob transactions (#7032)
asdacap May 16, 2024
738c39c
Fix init (#7034)
asdacap May 16, 2024
815814a
Add Nimbus support to oneClick (#7036)
kamilchodola May 16, 2024
6af7b05
Optimize/keccak (#7038)
LukaszRozmej May 16, 2024
4d1bebe
Remove unnecessary async (#7040)
asdacap May 17, 2024
b9fb002
Different way of handling sync_testnets failure (#7035)
kamilchodola May 17, 2024
927f1d4
Late bump to 1.27.0-unstable (#7041)
kamilchodola May 18, 2024
3a6efe0
Update Fast Sync configuration in Nethermind repository (#7047)
nethermind-machine May 20, 2024
d781283
Eliminate bounds checks in Bloom (#7049)
benaadams May 20, 2024
c86dbe9
Feature/log halfpath conversion (#7051)
asdacap May 20, 2024
f0e7fdf
Only recalculate storage roots once per block (#7021)
benaadams May 20, 2024
091d255
Intra-block cache (#7039)
benaadams May 20, 2024
1df6ed6
Feature DB File warmer (#7050)
asdacap May 20, 2024
0a0a1c9
Parallel Trie Branch KeyGeneration (#7048)
benaadams May 20, 2024
963bdc9
Fix/json rpc dangling whitespace (#7053)
LukaszRozmej May 20, 2024
a36909b
Txpool state cache (#7046)
benaadams May 20, 2024
73e998d
is null / is not null (#7054)
LukaszRozmej May 21, 2024
5abdc7d
fix blobbasefee opcode (#7043)
yerke26 May 21, 2024
a278060
[Docs] Add a automatic DbSize metrics docs creation mechanism (#7003)
kamilchodola May 21, 2024
3518a2a
Fix equality tests on jsonRpc (#6927)
kamilchodola May 21, 2024
ec0c804
Fix small typo in workflow (#7056)
kamilchodola May 21, 2024
b37bb95
Override RLP decoders with ones from plugins; fix op decoder (#6969)
flcl42 May 21, 2024
a74c99b
Make sure flood is reinstalled on VPS (#7057)
kamilchodola May 21, 2024
6743c8d
Forward eth_sendTransaction to the sequencer (#7017)
deffrian May 21, 2024
485fd8a
Use proper claim types in JSON-RPC replay tool (#6936)
emlautarom1 May 22, 2024
7172ef9
Fix ecotone fee logic (#7009)
deffrian May 22, 2024
b984a5d
Fix simple typo in workflow file (#7062)
kamilchodola May 22, 2024
06b25d3
Add Memory sizes to Pruning message (#7065)
benaadams May 23, 2024
44d31c1
Log when using larger than default pruning cache (#7066)
asdacap May 23, 2024
ab93fef
Add more logs on discovery binding issue (#7063)
LukaszRozmej May 23, 2024
c903032
Fee history - run cleanup also on updating main chain (#7069)
LukaszRozmej May 24, 2024
b6b681f
Use tighter locking for Node list enumerator (#7070)
benaadams May 24, 2024
033cf99
Update Fast Sync configuration in Nethermind repository (#7078)
nethermind-machine May 27, 2024
d267fdb
Fix for #6960 and new unit tests for testing dependent batches (#7058)
ak88 May 27, 2024
3dd1e21
Fast Call to Non contract addresses (#7074)
benaadams May 27, 2024
8940a10
Remove tx also from worst sorted values (#7079)
benaadams May 27, 2024
b2ea0f1
fixed KeyExists function in KeyValueStore (#6984)
yerke26 May 27, 2024
d1e4f48
Pre-warm intra block cache during block execution (#7055)
LukaszRozmej May 28, 2024
e9dff1d
Don't change MgasPerSec on empty blocks (#7090)
LukaszRozmej May 28, 2024
b61e9b1
Historical master images (#7085)
kamilchodola May 28, 2024
534efea
Skip prewarm if tx count < 3 (#7098)
benaadams May 28, 2024
331f0d9
Migrate Docker images to Ubuntu 24.04 (#7076)
rubo May 28, 2024
6e1ec86
Reduce objects used by LruCaching (#7100)
benaadams May 28, 2024
b6afefb
Fix/proof generation (#7081)
asdacap May 29, 2024
58bb497
Fix forward sync regression, block processing slows down over time (#…
asdacap May 29, 2024
91286e0
Fix cannot disable prewarm (#7102)
asdacap May 29, 2024
a163e9f
Skip prewarmer for genesis block (#7103)
benaadams May 29, 2024
5489518
Reset state per block during archive sync (#7092)
benaadams May 29, 2024
5804a01
Fix block metrics + reduce metric contention (#7094)
benaadams May 29, 2024
f97cd93
If worsevalue removed but not found, reinsert new worst item (#7097)
benaadams May 29, 2024
4020ade
Feature external signer (#6780)
ak88 May 29, 2024
a61df04
Fix/arg out of range SnapProvider.AddAccountRange (#7060)
ak88 May 29, 2024
e3b68b1
Fix calculating memory size when disposed (#7095)
ak88 May 29, 2024
f1ff7a7
Warm up empty trees for accesslists (#7111)
benaadams May 30, 2024
a1eedb6
Fix pruning regression (#7104)
asdacap May 31, 2024
749fbb5
Fixed EVM Metrics with a small modexp->exp bug (#7113)
MarekM25 May 31, 2024
33015b7
Fix pruning with LruCaheLowObject (#7114)
benaadams May 31, 2024
e206b44
Highlight gigagas in logs (#7121)
benaadams May 31, 2024
bee7a6b
Use NonBlocking ConcurrentDictionary in a couple places (#7122)
benaadams May 31, 2024
4eccc6d
Use string for additional rocksdb config (#7116)
asdacap Jun 2, 2024
15dbb51
Update packages (#7108)
rubo Jun 2, 2024
b110a93
Update Fast Sync configuration in Nethermind repository (#7123)
nethermind-machine Jun 3, 2024
1060835
use AccountChanges only in main processing thread (#7128)
LukaszRozmej Jun 3, 2024
519ff42
Replace Bouncy Castle package (#7124)
rubo Jun 3, 2024
58cb547
Turn off GarbageCollectionAdaptationMode (#7127)
benaadams Jun 3, 2024
7cde3ec
Revise Git commit hash handling (#7131)
rubo Jun 3, 2024
3d637e2
Limit contended paths to physical cores not logical cores (#7132)
benaadams Jun 4, 2024
3d532d1
Cap DotNetty Threads (#7134)
benaadams Jun 4, 2024
6aab680
Persistently remove worst item until actually removed (#7130)
LukaszRozmej Jun 4, 2024
f91e27e
Add custom Eth module that exposes additional OP related fields (#7096)
flcl42 Jun 5, 2024
0d7bbbe
Fix HiveConsensus build trigger when master and manual (#7136)
kamilchodola Jun 5, 2024
0d700b3
Reduce space use spike after sync (#7138)
asdacap Jun 6, 2024
89d9ce4
Skip prewarming tx if main processing has caught up (#7143)
benaadams Jun 6, 2024
c9200f6
buffer until all logs are available: eth_getLogs (#7141)
rjnrohit Jun 6, 2024
0f26e82
Stop StreamPipeWriter from throwing when passed a null options feild …
smartprogrammer93 Jun 6, 2024
e9b0990
fix not completing the writing of the JsonRPC response (#7146)
smartprogrammer93 Jun 6, 2024
692ed6a
Fix DocGen and remove `IWitnessRpcModule` (#7150)
rubo Jun 7, 2024
3df20d2
Use OP tx processor in trace RPC module (#7118)
flcl42 Jun 7, 2024
fdf8372
Update config, gas calculations, receipt fields according to OP's Fjo…
flcl42 Jun 7, 2024
4345969
Handle parallel withdrawals in pre-warmer (#7152)
benaadams Jun 8, 2024
4877557
Remove parallel from withdrawal warmup (#7153)
benaadams Jun 8, 2024
0b3815c
Fix pre-warm withdrawals (#7155)
benaadams Jun 9, 2024
bd2f370
Update Fast Sync configuration in Nethermind repository (#7154)
nethermind-machine Jun 9, 2024
04674fa
Don't limit eth_getLogs on authenticated context (#7149)
LukaszRozmej Jun 9, 2024
1d6a536
Don't boost priority of forkchoice if syncing (#7158)
benaadams Jun 10, 2024
424d6f3
Refactor/make pre warmer worldstate agnostic (#7109)
asdacap Jun 10, 2024
97c597f
Add eth_simulate , support array of eth_call for simulation across mu…
OlegJakushkin Jun 10, 2024
c369d4b
Fix low object LruCaches (#7160)
benaadams Jun 10, 2024
7ca6c53
Fix typo in EthSimulateTestsBlocksAndTransactions (#7163)
healthyyyoung Jun 10, 2024
e303b4c
No batch processing needed in case of single blob (#7159)
flcl42 Jun 10, 2024
57c4eb2
Fix test CI machines oom (#7165)
benaadams Jun 10, 2024
6bbce23
Refactor/Scope ReadOnlyTransactionProcessor. (#7110)
asdacap Jun 11, 2024
33eb952
Updated comment in MergeBlockDownloader, fixed typos (#7167)
MarekM25 Jun 11, 2024
4fee4bf
FCU to return VALID for blocks of a correct chain without state (#7151)
flcl42 Jun 11, 2024
2235403
Merge branch 'master' into pectra
rjnrohit Jun 12, 2024
015b502
fix systemTxProcessor error
rjnrohit Jun 12, 2024
84ab07a
fix OverridableCodeInfoRepository issue
rjnrohit Jun 12, 2024
23b9437
fix OptimismBlockProcessor error
rjnrohit Jun 12, 2024
c18f349
fix error: BlockchainTestBase
rjnrohit Jun 12, 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
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/hive-consensus-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ jobs:

# Output the variables
echo "skip_docker_build=$skip_docker_build" >> $GITHUB_OUTPUT
echo "wait_for_docker=$wait_for_docker" >> $GITHUB_OUTPUT
echo "skip_wait_for_docker=$skip_wait_for_docker" >> $GITHUB_OUTPUT

- name: Trigger Docker Build Action with Cleaned Ref
if: steps.check_conditions.outputs.skip_docker_build != 'true'
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/nethermind-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ jobs:
- Nethermind.Network.Dns.Test
- Nethermind.Network.Enr.Test
- Nethermind.Network.Test
- Nethermind.Optimism.Test
- Nethermind.Overseer.Test
- Nethermind.Runner.Test
- Nethermind.Serialization.Ssz.Test
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/publish-docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,7 @@ on:
required: true
default: release
type: choice
options:
- release
- debug
options: [release, debug]

jobs:
publish-docker:
Expand All @@ -46,14 +44,16 @@ jobs:
- name: Build and push image to Docker Hub (staging)
run: |
branch=$(echo "${{ github.ref }}" | sed -e "s/refs\/heads\///g")
original_tag=${{ github.event.inputs.tag || '$branch' }}
tag=$(echo "$original_tag" | sed 's/\//-/g') # replace '/' with '-' in tag name
tag=$(echo "${{ github.event.inputs.tag || '$branch' }}" | sed 's/\//-/g') # replace '/' with '-'
image_name=nethermindeth/${{ github.event.inputs.image-name || 'nethermind' }}
build_timestamp=$(date '+%s')

echo "Building image with tag $tag"

docker buildx build --platform=linux/amd64,linux/arm64 \
-f ${{ github.event.inputs.dockerfile || 'Dockerfile' }} \
-t "nethermindeth/${{ github.event.inputs.image-name || 'nethermind' }}:$tag" \
-t "$image_name:$tag" \
${{ endsWith(github.ref, '/master') && github.event_name == 'push' && '-t $image_name:master-${GITHUB_SHA:0:7}' || '' }} \
--build-arg BUILD_CONFIG=${{ github.event.inputs.build-config || 'release' }} \
--build-arg BUILD_TIMESTAMP=$build_timestamp \
--build-arg CI=$CI \
Expand Down
44 changes: 33 additions & 11 deletions .github/workflows/rpc-comparison.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ jobs:
verify_correctness_of_setup:
name: Verify if inputs are correct
runs-on: ubuntu-latest
outputs:
custom_machine_type: ${{ steps.compute_machine_type.outputs.custom_machine_type }}
steps:
- name: Verify if inputs are correctly applied
run: |
Expand All @@ -65,6 +67,21 @@ jobs:
IS_PERFORMANCE_CHECK: ${{ inputs.is_performance_check }}
BRANCH_TO_COMPARE: ${{ inputs.branch_to_compare }}
COMPARE_WITH: ${{ inputs.compare_with }}

- name: Compute Machine Type
id: compute_machine_type
run: |
convert_to_paprika="${{ github.event.inputs.convert_to_paprika }}"
is_performance_check="${{ github.event.inputs.is_performance_check }}"
machine_type=""
if [[ "$convert_to_paprika" == 'true' && "$is_performance_check" == 'true' ]]; then
machine_type="g7-premium-16"
elif [[ "$convert_to_paprika" == 'true' ]]; then
machine_type="g6-standard-8"
elif [[ "$is_performance_check" == 'true' ]]; then
machine_type="g7-premium-8"
fi
echo "custom_machine_type=$machine_type" >> $GITHUB_OUTPUT

create_main_node:
name: Create node from current branch
Expand All @@ -79,10 +96,10 @@ jobs:
"default_dockerfile_build_type": "release",
"ssh_keys": "",
"allowed_ips": "${{ inputs.allowed_ips }}",
"custom_machine_type": "${{ (inputs.convert_to_paprika == 'true' && inputs.is_performance_check == 'true' && 'g7-premium-16') || (inputs.convert_to_paprika == 'true' && 'g6-standard-8') || (inputs.is_performance_check == 'true' && 'g7-premium-8') || '' }}"
"custom_machine_type": "${{ needs.verify_correctness_of_setup.outputs.custom_machine_type }}"
}
non_validator_mode: true
additional_nethermind_flags: Pruning.Mode=None JsonRpc.EnabledModules=[Eth,Subscribe,Trace,TxPool,Web3,Personal,Proof,Net,Parity,Health,Rpc,Debug,Admin]
additional_nethermind_flags: JsonRpc.EnabledModules=[Eth,Subscribe,Trace,TxPool,Web3,Personal,Proof,Net,Parity,Health,Rpc,Debug,Admin] JsonRpc.Timeout=3600000 log=INFO
nethermind_repo_ref: ${{ github.ref }}
custom_run_id: ${{ github.run_id }}
network: "${{ inputs.network || 'mainnet' }}"
Expand All @@ -102,10 +119,10 @@ jobs:
"default_dockerfile_build_type": "release",
"ssh_keys": "",
"allowed_ips": "${{ inputs.allowed_ips }}",
"custom_machine_type": "${{ (inputs.convert_to_paprika == 'true' && inputs.is_performance_check == 'true' && 'g7-premium-16') || (inputs.convert_to_paprika == 'true' && 'g6-standard-8') || (inputs.is_performance_check == 'true' && 'g7-premium-8') || '' }}"
"custom_machine_type": "${{ needs.verify_correctness_of_setup.outputs.custom_machine_type }}"
}
non_validator_mode: true
additional_nethermind_flags: Pruning.Mode=None JsonRpc.EnabledModules=[Eth,Subscribe,Trace,TxPool,Web3,Personal,Proof,Net,Parity,Health,Rpc,Debug,Admin]
additional_nethermind_flags: JsonRpc.EnabledModules=[Eth,Subscribe,Trace,TxPool,Web3,Personal,Proof,Net,Parity,Health,Rpc,Debug,Admin] JsonRpc.Timeout=3600000 log=INFO
nethermind_repo_ref: ${{ inputs.branch_to_compare }}
custom_run_id: ${{ github.run_id }}
network: "${{ inputs.network || 'mainnet' }}"
Expand Down Expand Up @@ -302,6 +319,11 @@ jobs:
check_jsonrpc_responding "$url"
check_chain_head "$url"
fi

# Extra wait - nodes need to process a few new blocks - nice to have at least 128 of them after StateHealing
# Adding (128 - 32) * 12 seconds (-32 because we always keep 32 blocks to be processed after healing)
echo "Waiting for (128 - 32) blocks to be synced"
sleep 1152

compare:
name: Compare JSON-RPC responses between clients and versions
Expand All @@ -311,7 +333,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Install flood
run: pip install git+https://github.com/kamilchodola/flood.git
run: pip install --force-reinstall --no-deps git+https://github.com/kamilchodola/flood.git

- name: Prepare Comparison Flags
id: prep_comparison
Expand Down Expand Up @@ -393,21 +415,21 @@ jobs:
flood "$TEST" ${compare_to_other_branch_params} --rates 10 50 100 500 1000 --output "$TEST_perf_result" --duration 30 --deep-check | tee -a "$TEST_perf_result.txt"
done
else
echo "flood all ${compare_to_other_branch_params} --output equality_result_other --equality | tee output_other_branch.txt"
flood all ${compare_to_other_branch_params} --output equality_result_other --equality | tee output_other_branch.txt
echo "flood all ${compare_to_other_branch_params} --equality | tee output_other_branch.txt"
flood all ${compare_to_other_branch_params} --equality | tee output_other_branch.txt
fi

- name: Compare to INFURA Endpoint
if: env.compare_to_infura == 'true' && inputs.is_performance_check != true
run: |
echo "flood all ${compare_to_infura_params} --output equality_result_infura --equality | tee output_infura.txt"
flood all ${compare_to_infura_params} --output equality_result_infura --equality | tee output_infura.txt
echo "flood all ${compare_to_infura_params} --equality | tee output_infura.txt"
flood all ${compare_to_infura_params} --equality | tee output_infura.txt

- name: Compare to Nethermind Archive Endpoint
if: env.compare_to_archive == 'true' && inputs.is_performance_check != true
run: |
echo "flood all ${compare_to_archive_params} --output equality_result_archive --equality | tee output_archive.txt"
flood all ${compare_to_archive_params} --output equality_result_archive --equality | tee output_archive.txt
echo "flood all ${compare_to_archive_params} --equality | tee output_archive.txt"
flood all ${compare_to_archive_params} --equality | tee output_archive.txt

- name: Generate report
run: |
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/run-a-single-node-from-branch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,10 @@ on:
options:
- lighthouse
- lodestar
#- nimbus
- prysm
- teku
- nimbus
- nimbus_ws
cl_custom_image:
description: "In case of need to run non-default cl image (different than actually supported by Sedge) put it in there"
default: ""
Expand Down
56 changes: 25 additions & 31 deletions .github/workflows/sync-testnets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,17 @@ jobs:
include:
- network: "holesky"
checkpoint-sync-url: "https://holesky.beaconstate.ethstaker.cc/"
cl-client: "lighthouse:sigp/lighthouse:latest"
cl-client: "lodestar:chainsafe/lodestar:latest"
el-client: "nethermind:nethermindeth/nethermind:master"
agent: ubuntu-latest
agent: sync-agent-80gb
- network: "chiado"
checkpoint-sync-url: "http://139.144.26.89:4000/"
cl-client: "lighthouse:sigp/lighthouse:latest"
cl-client: "lodestar:chainsafe/lodestar:latest"
el-client: "nethermind:nethermindeth/nethermind:master"
agent: sync-agent-80gb
- network: "sepolia"
checkpoint-sync-url: "https://beaconstate-sepolia.chainsafe.io"
cl-client: "lighthouse:sigp/lighthouse:latest"
cl-client: "lodestar:chainsafe/lodestar:latest"
el-client: "nethermind:nethermindeth/nethermind:master"
agent: sync-agent-160gb
name: "Run sync of ${{ matrix.network }} testnet"
Expand All @@ -41,15 +41,6 @@ jobs:
with:
clean: true

- name: Configure settings
id: settings
run: |
echo "BUILD_TIMESTAMP=$(date '+%s')" >> $GITHUB_OUTPUT
echo "COMMIT_HASH=$(git describe --always --exclude=* --abbrev=40)" >> $GITHUB_OUTPUT

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

- name: Installing requirements
run: |
sudo apt-get update
Expand Down Expand Up @@ -82,6 +73,7 @@ jobs:
--el-extra-flag Sync.NonValidatorNode=true --el-extra-flag Sync.DownloadBodiesInFastSync=false \
--el-extra-flag Sync.DownloadReceiptsInFastSync=false \
--el-extra-flag JsonRpc.EnabledModules=[Eth,Subscribe,Trace,TxPool,Web3,Personal,Proof,Net,Parity,Health,Rpc,Debug] \
--el-extra-flag Sync.SnapSync=true \
--checkpoint-sync-url=${{ matrix.checkpoint-sync-url }}
echo 'Running sedge...'
./build/sedge run -p $GITHUB_WORKSPACE/sedge
Expand All @@ -90,51 +82,53 @@ jobs:
id: wait
timeout-minutes: 180
run: |
set +e

declare -A bad_logs
bad_logs["Corrupt"]=1
bad_logs["Exception"]=1

declare -A good_logs
good_logs["Synced Chain Head"]=0
good_logs["Processed"]=0

declare -A required_count
required_count["Synced Chain Head"]=20
required_count["Processed"]=20

required_count["Processed"]=20
counter=0
found_bad_log=false

echo "Starting Docker logs monitoring..."

docker logs -f sedge-execution-client | while read -r line; do
echo "$line"

if [[ $found_bad_log == true ]]; then
((counter++))

if [[ "$line" == *"All done"* ]]; then
echo "Unexpected termination detected: $line"
exit 1
fi

if [ "$found_bad_log" = true ]; then
counter=$((counter + 1))
if [ $counter -ge 100 ]; then
echo "Exiting after capturing extra logs due to error."
exit 1
else
continue
fi
fi

for bad_log in "${!bad_logs[@]}"; do
if [[ "$line" == *"$bad_log"* ]]; then
echo "Error: $bad_log found in Docker logs."
$found_bad_log=true
continue 2
found_bad_log=true
break
fi
done

for good_log in "${!good_logs[@]}"; do
if [[ "$line" == *"$good_log"* ]]; then
((good_logs["$good_log"]++))
good_logs["$good_log"]=$((good_logs["$good_log"]+1))
fi
done

# Check if all good logs have reached the required count
all_reached_required_count=true
for good_log in "${!good_logs[@]}"; do
Expand All @@ -143,7 +137,7 @@ jobs:
break
fi
done

if $all_reached_required_count; then
echo "All required logs found."
exit 0
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/update-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,9 @@ jobs:
mv d/docs/interacting/json-rpc-ns/eth_subscribe.md n/docgen/eth_subscribe.md
mv d/docs/interacting/json-rpc-ns/eth_unsubscribe.md n/docgen/eth_unsubscribe.md
mv d/docs/monitoring/metrics/metrics.md n/docgen/metrics.md
cd n/docgen && ./DocGen && cd ../..
cd n/docgen
./DocGen --config --jsonrpc --metrics
cd ../..
mv n/docgen/configuration.md d/docs/fundamentals/configuration.md
rm -f d/docs/interacting/json-rpc-ns/*.md
mv n/docgen/eth_subscribe.md d/docs/interacting/json-rpc-ns/eth_subscribe.md
Expand Down
5 changes: 2 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
# SPDX-FileCopyrightText: 2022 Demerzel Solutions Limited
# SPDX-License-Identifier: LGPL-3.0-only

FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0-jammy AS build
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0-noble AS build

ARG BUILD_CONFIG=release
ARG BUILD_TIMESTAMP
ARG CI
ARG COMMIT_HASH
ARG TARGETARCH

COPY .git .git
COPY src/Nethermind src/Nethermind

RUN arch=$([ "$TARGETARCH" = "amd64" ] && echo "x64" || echo "$TARGETARCH") && \
Expand All @@ -19,7 +18,7 @@ RUN arch=$([ "$TARGETARCH" = "amd64" ] && echo "x64" || echo "$TARGETARCH") && \
# A temporary symlink to support the old executable name
RUN ln -s -r /publish/nethermind /publish/Nethermind.Runner

FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/aspnet:8.0-jammy
FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/aspnet:8.0-noble

WORKDIR /nethermind

Expand Down
5 changes: 2 additions & 3 deletions Dockerfile.chiseled
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
# SPDX-FileCopyrightText: 2024 Demerzel Solutions Limited
# SPDX-License-Identifier: LGPL-3.0-only

FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0-jammy AS build
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0-noble AS build

ARG BUILD_CONFIG=release
ARG BUILD_TIMESTAMP
ARG CI
ARG COMMIT_HASH
ARG TARGETARCH

COPY .git .git
COPY src/Nethermind src/Nethermind

RUN arch=$([ "$TARGETARCH" = "amd64" ] && echo "x64" || echo "$TARGETARCH") && \
Expand All @@ -22,7 +21,7 @@ RUN cd /publish && \
mkdir logs && \
mkdir nethermind_db

FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/aspnet:8.0-jammy-chiseled
FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/aspnet:8.0-noble-chiseled

WORKDIR /nethermind

Expand Down
5 changes: 2 additions & 3 deletions Dockerfile.diag
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
# SPDX-FileCopyrightText: 2022 Demerzel Solutions Limited
# SPDX-License-Identifier: LGPL-3.0-only

FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0-jammy AS build
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0-noble AS build

ARG BUILD_CONFIG=release
ARG BUILD_TIMESTAMP
ARG CI
ARG COMMIT_HASH
ARG TARGETARCH

COPY .git .git
COPY src/Nethermind src/Nethermind

RUN arch=$([ "$TARGETARCH" = "amd64" ] && echo "x64" || echo "$TARGETARCH") && \
Expand All @@ -23,7 +22,7 @@ RUN dotnet tool install -g dotnet-dump && \
dotnet tool install -g dotnet-trace && \
dotnet tool install -g JetBrains.dotTrace.GlobalTools

FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/aspnet:8.0-jammy
FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/aspnet:8.0-noble

WORKDIR /nethermind

Expand Down
Loading