mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-19 18:32:23 +00:00
add quick conversion test (#429)
* add quick conversion test * add debug traces * activate debug rpc * where I discover I have an outdated version of geth on my desktop
This commit is contained in:
parent
1599b8f71c
commit
8cbdd335ae
1 changed files with 75 additions and 0 deletions
75
.github/workflows/conversion.yml
vendored
Normal file
75
.github/workflows/conversion.yml
vendored
Normal file
|
|
@ -0,0 +1,75 @@
|
||||||
|
name: Overlay conversion
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ master, transition-post-genesis, store-transition-state-in-db ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ master, kaustinen-with-shapella, transition-post-genesis, store-transition-state-in-db, lock-overlay-transition ]
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
conversion:
|
||||||
|
runs-on: self-hosted
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Set up Go
|
||||||
|
uses: actions/setup-go@v2
|
||||||
|
with:
|
||||||
|
go-version: 1.22.2
|
||||||
|
|
||||||
|
- name: Cleanup from previous runs
|
||||||
|
run: |
|
||||||
|
rm -f log.txt
|
||||||
|
rm -rf .shadowfork
|
||||||
|
rm -f genesis.json
|
||||||
|
- name: Download genesis file
|
||||||
|
run: wget https://gist.githubusercontent.com/gballet/0b02a025428aa0e7b67941864d54716c/raw/bfb4e158bca5217b356a19b2ec55c4a45a7b2bad/genesis.json
|
||||||
|
|
||||||
|
- name: Init data
|
||||||
|
run: go run ./cmd/geth --dev --cache.preimages init genesis.json
|
||||||
|
|
||||||
|
- name: Run geth in devmode
|
||||||
|
run: go run ./cmd/geth --dev --dev.period=5 --cache.preimages --http --datadir=.shadowfork --override.overlay-stride=10 --override.prague=$(($(date +%s) + 45)) --http.api=debug &
|
||||||
|
|
||||||
|
- name: Wait for the transition to start
|
||||||
|
run: |
|
||||||
|
start_time=$(date +%s)
|
||||||
|
while true; do
|
||||||
|
sleep 5
|
||||||
|
current_time=$(date +%s)
|
||||||
|
elapsed_time=$((current_time - start_time))
|
||||||
|
# 2 minute timeout
|
||||||
|
if [ $elapsed_time -ge 120 ]; then
|
||||||
|
kill -9 $(pgrep -f geth)
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
pgrep -l geth
|
||||||
|
# Check for signs that the conversion has started
|
||||||
|
started=`curl -X POST -H "Content-Type: application/json" -d '{ "id": 7, "jsonrpc": "2.0", "method": "debug_conversionStatus", "params": ["latest"]}' http://localhost:8545 -s | jq '.result.started'`
|
||||||
|
echo $?
|
||||||
|
echo $started
|
||||||
|
if [ "$started" == "true" ]; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
echo "looping"
|
||||||
|
done
|
||||||
|
- name: Wait for the transition to end
|
||||||
|
run: |
|
||||||
|
start_time=$(date +%s)
|
||||||
|
while true; do
|
||||||
|
sleep 5
|
||||||
|
current_time=$(date +%s)
|
||||||
|
elapsed_time=$((current_time - start_time))
|
||||||
|
# 10 minute timeout
|
||||||
|
if [ $elapsed_time -ge 300 ]; then
|
||||||
|
cat log.txt
|
||||||
|
kill -9 $(pgrep -f geth)
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
# Check for signs that the conversion has ended
|
||||||
|
ended=`curl -X POST -H "Content-Type: application/json" -d '{ "id": 7, "jsonrpc": "2.0", "method": "debug_conversionStatus", "params": ["latest"]}' http://localhost:8545 -s | jq '.result.started'`
|
||||||
|
if [ "$ended" == "true" ]; then
|
||||||
|
kill -9 $(pgrep -f geth)
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
Loading…
Reference in a new issue