Compare commits
8 Commits
roysc/tx-s
...
main
Author | SHA1 | Date | |
---|---|---|---|
3477e8ff96 | |||
fca61c0981 | |||
f20687674a | |||
61bad072f8 | |||
f2d11f314c | |||
7ef20f94b3 | |||
27503949ab | |||
fe5e10fdbc |
@ -3,6 +3,7 @@ name: Test Ethereum Fixturenet Stack
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: '*'
|
branches: '*'
|
||||||
|
pull_request:
|
||||||
schedule: # Note: coordinate with other tests to not overload runners at the same time of day
|
schedule: # Note: coordinate with other tests to not overload runners at the same time of day
|
||||||
- cron: '12 01 * * *'
|
- cron: '12 01 * * *'
|
||||||
|
|
||||||
@ -33,3 +34,20 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
PATH=$PATH:~/bin
|
PATH=$PATH:~/bin
|
||||||
./tests/fixturenet-eth-stack/run-test.sh
|
./tests/fixturenet-eth-stack/run-test.sh
|
||||||
|
|
||||||
|
- name: Notify Vulcanize Slack on CI failure
|
||||||
|
if: ${{ always() && github.ref_name == 'main' }}
|
||||||
|
uses: ravsamhq/notify-slack-action@v2
|
||||||
|
with:
|
||||||
|
status: ${{ job.status }}
|
||||||
|
notify_when: 'failure'
|
||||||
|
env:
|
||||||
|
SLACK_WEBHOOK_URL: ${{ secrets.VULCANIZE_SLACK_CI_ALERTS }}
|
||||||
|
- name: Notify DeepStack Slack on CI failure
|
||||||
|
if: ${{ always() && github.ref_name == 'main' }}
|
||||||
|
uses: ravsamhq/notify-slack-action@v2
|
||||||
|
with:
|
||||||
|
status: ${{ job.status }}
|
||||||
|
notify_when: 'failure'
|
||||||
|
env:
|
||||||
|
SLACK_WEBHOOK_URL: ${{ secrets.DEEPSTACK_SLACK_CI_ALERTS }}
|
||||||
|
@ -3,13 +3,17 @@ name: Test Ethereum Plugeth Fixturenet Stack
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: '*'
|
branches: '*'
|
||||||
|
pull_request:
|
||||||
schedule: # Note: coordinate with other tests to not overload runners at the same time of day
|
schedule: # Note: coordinate with other tests to not overload runners at the same time of day
|
||||||
- cron: '14 01 * * *'
|
- cron: '14 01 * * *'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
test:
|
||||||
name: "Test fixturenet-plugeth stack"
|
name: "Test fixturenet-plugeth stack"
|
||||||
runs-on: ubuntu-latest
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest, ubuntu-latest-arm]
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: "Clone project repository"
|
- name: "Clone project repository"
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
@ -19,12 +23,12 @@ jobs:
|
|||||||
if: ${{ runner.arch == 'arm64' && runner.os == 'Linux' }}
|
if: ${{ runner.arch == 'arm64' && runner.os == 'Linux' }}
|
||||||
uses: deadsnakes/action@v3.0.1
|
uses: deadsnakes/action@v3.0.1
|
||||||
with:
|
with:
|
||||||
python-version: '3.11'
|
python-version: 3.11
|
||||||
- name: "Install Python cases other than ARM on Linux"
|
- name: "Install Python cases other than ARM on Linux"
|
||||||
if: ${{ ! (runner.arch == 'arm64' && runner.os == 'Linux') }}
|
if: ${{ ! (runner.arch == 'arm64' && runner.os == 'Linux') }}
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: '3.11'
|
python-version: 3.11
|
||||||
- name: "Print Python version"
|
- name: "Print Python version"
|
||||||
run: python3 --version
|
run: python3 --version
|
||||||
- name: "Install stack orchestrator"
|
- name: "Install stack orchestrator"
|
||||||
@ -33,3 +37,20 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
PATH=$PATH:~/bin
|
PATH=$PATH:~/bin
|
||||||
./tests/fixturenet-plugeth-stack/run-test.sh
|
./tests/fixturenet-plugeth-stack/run-test.sh
|
||||||
|
|
||||||
|
- name: Notify Vulcanize Slack on CI failure
|
||||||
|
if: ${{ always() && github.ref_name == 'main' }}
|
||||||
|
uses: ravsamhq/notify-slack-action@v2
|
||||||
|
with:
|
||||||
|
status: ${{ job.status }}
|
||||||
|
notify_when: 'failure'
|
||||||
|
env:
|
||||||
|
SLACK_WEBHOOK_URL: ${{ secrets.VULCANIZE_SLACK_CI_ALERTS }}
|
||||||
|
- name: Notify DeepStack Slack on CI failure
|
||||||
|
if: ${{ always() && github.ref_name == 'main' }}
|
||||||
|
uses: ravsamhq/notify-slack-action@v2
|
||||||
|
with:
|
||||||
|
status: ${{ job.status }}
|
||||||
|
notify_when: 'failure'
|
||||||
|
env:
|
||||||
|
SLACK_WEBHOOK_URL: ${{ secrets.DEEPSTACK_SLACK_CI_ALERTS }}
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
# Change this file to trigger the job publish-fixturenet-eth-images.yml
|
# Change this file to trigger the job publish-fixturenet-eth-images.yml
|
||||||
Trigger
|
5
|
@ -10,6 +10,7 @@ services:
|
|||||||
image: cerc/fixturenet-plugeth-plugeth:local
|
image: cerc/fixturenet-plugeth-plugeth:local
|
||||||
volumes:
|
volumes:
|
||||||
- fixturenet_plugeth_bootnode_geth_data:/root/ethdata
|
- fixturenet_plugeth_bootnode_geth_data:/root/ethdata
|
||||||
|
- fixturenet_plugeth_bootnode_geth_config:/opt/testnet/build/el
|
||||||
ports:
|
ports:
|
||||||
- "9898"
|
- "9898"
|
||||||
- "30303"
|
- "30303"
|
||||||
@ -127,6 +128,7 @@ services:
|
|||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
fixturenet_plugeth_bootnode_geth_data:
|
fixturenet_plugeth_bootnode_geth_data:
|
||||||
|
fixturenet_plugeth_bootnode_geth_config:
|
||||||
fixturenet_plugeth_geth_1_data:
|
fixturenet_plugeth_geth_1_data:
|
||||||
fixturenet_plugeth_geth_2_data:
|
fixturenet_plugeth_geth_2_data:
|
||||||
fixturenet_plugeth_lighthouse_1_data:
|
fixturenet_plugeth_lighthouse_1_data:
|
||||||
|
@ -13,17 +13,16 @@ services:
|
|||||||
DATABASE_PORT: 5432
|
DATABASE_PORT: 5432
|
||||||
|
|
||||||
ipld-eth-db:
|
ipld-eth-db:
|
||||||
image: timescale/timescaledb:2.8.1-pg14
|
image: timescale/timescaledb:latest-pg14
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_USER: "vdbm"
|
POSTGRES_USER: "vdbm"
|
||||||
POSTGRES_DB: "cerc_testing"
|
POSTGRES_DB: "cerc_testing"
|
||||||
POSTGRES_PASSWORD: "password"
|
POSTGRES_PASSWORD: "password"
|
||||||
healthcheck:
|
|
||||||
test: ["CMD", "nc", "-v", "localhost", "5432"]
|
|
||||||
interval: 30s
|
|
||||||
timeout: 10s
|
|
||||||
retries: 10
|
|
||||||
start_period: 3s
|
|
||||||
ports:
|
ports:
|
||||||
- "127.0.0.1:8077:5432"
|
- "127.0.0.1:8077:5432"
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "pg_isready", "-U", "vdbm"]
|
||||||
|
interval: 2s
|
||||||
|
timeout: 1s
|
||||||
|
retries: 3
|
||||||
|
@ -0,0 +1,43 @@
|
|||||||
|
services:
|
||||||
|
ipld-eth-server:
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
ipld-eth-db:
|
||||||
|
condition: service_healthy
|
||||||
|
image: cerc/ipld-eth-server:local
|
||||||
|
environment:
|
||||||
|
SERVER_HTTP_PATH: 0.0.0.0:8081
|
||||||
|
SERVER_GRAPHQL: "true"
|
||||||
|
SERVER_GRAPHQLPATH: 0.0.0.0:8082
|
||||||
|
ETH_CHAIN_CONFIG: "/opt/config/chain.json"
|
||||||
|
DATABASE_NAME: cerc_testing
|
||||||
|
DATABASE_HOSTNAME: ipld-eth-db
|
||||||
|
DATABASE_PORT: 5432
|
||||||
|
DATABASE_USER: "vdbm"
|
||||||
|
DATABASE_PASSWORD: "password"
|
||||||
|
ETH_FORWARD_ETH_CALLS: "false"
|
||||||
|
ETH_FORWARD_GET_STORAGE_AT: "false"
|
||||||
|
ETH_PROXY_ON_ERROR: "false"
|
||||||
|
METRICS: "true"
|
||||||
|
PROM_HTTP: "true"
|
||||||
|
PROM_HTTP_ADDR: "0.0.0.0"
|
||||||
|
PROM_HTTP_PORT: "8090"
|
||||||
|
LOG_LEVEL: "debug"
|
||||||
|
CERC_REMOTE_DEBUG: ${CERC_REMOTE_DEBUG:-true}
|
||||||
|
volumes:
|
||||||
|
- fixturenet_plugeth_bootnode_geth_config:/opt/config
|
||||||
|
ports:
|
||||||
|
- "8081"
|
||||||
|
- "8082"
|
||||||
|
- "8090"
|
||||||
|
- "40000"
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "nc", "-v", "localhost", "8081"]
|
||||||
|
interval: 20s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 15
|
||||||
|
start_period: 5s
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
fixturenet_plugeth_bootnode_geth_config:
|
||||||
|
|
@ -1,16 +0,0 @@
|
|||||||
services:
|
|
||||||
tx-spammer:
|
|
||||||
restart: always
|
|
||||||
image: cerc/tx-spammer:local
|
|
||||||
env_file:
|
|
||||||
- ../config/tx-spammer/tx-spammer.env
|
|
||||||
environment:
|
|
||||||
ACCOUNTS_CSV_URL: http://fixturenet-eth-bootnode-geth:9898/accounts.csv
|
|
||||||
ETH_HTTP_PATH: http://fixturenet-eth-geth-1:8545
|
|
||||||
LOG_LEVEL: debug
|
|
||||||
SPAMMER_COMMAND: autoSend
|
|
||||||
depends_on:
|
|
||||||
fixturenet-eth-bootnode-geth:
|
|
||||||
condition: service_started
|
|
||||||
fixturenet-eth-geth-1:
|
|
||||||
condition: service_healthy
|
|
@ -1,2 +0,0 @@
|
|||||||
ETH_CALL_FREQ=1000
|
|
||||||
ETH_SEND_FREQ=1000
|
|
@ -2,7 +2,9 @@ FROM ethpandaops/ethereum-genesis-generator:3.0.0 AS ethgen
|
|||||||
|
|
||||||
# Build genesis config
|
# Build genesis config
|
||||||
ADD genesis /opt/genesis
|
ADD genesis /opt/genesis
|
||||||
RUN cd /opt/genesis && make genesis-el
|
WORKDIR /opt/genesis
|
||||||
|
RUN make genesis-el
|
||||||
|
RUN jq ".config" build/el/geth.json > build/el/chain.json
|
||||||
|
|
||||||
FROM golang:1.21-alpine as builder
|
FROM golang:1.21-alpine as builder
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
FROM cerc/fixturenet-eth-genesis-postmerge:local as fnetgen
|
FROM cerc/fixturenet-eth-genesis-postmerge:local as fnetgen
|
||||||
FROM ethereum/client-go:release-1.14 as geth
|
FROM ethereum/client-go:v1.14.8 as geth
|
||||||
|
|
||||||
# Using the same golang image as used to build geth: https://github.com/cerc-io/go-ethereum/blob/HEAD/Dockerfile
|
# Using the same golang image as used to build geth: https://github.com/cerc-io/go-ethereum/blob/HEAD/Dockerfile
|
||||||
FROM golang:1.21-alpine as delve
|
FROM golang:1.21-alpine as delve
|
||||||
|
@ -60,5 +60,3 @@ ETH1_TTD=${ETH1_TTD:-`cat $ETH1_GENESIS_JSON | jq -r '.config.terminalTotalDiffi
|
|||||||
ETH1_DEPOSIT_CONTRACT_ADDRESS=${ETH1_DEPOSIT_CONTRACT_ADDRESS:-`cat $ETH1_CONFIG_YAML | grep 'deposit_contract_address' | awk '{ print $2 }' | sed 's/"//g'`}
|
ETH1_DEPOSIT_CONTRACT_ADDRESS=${ETH1_DEPOSIT_CONTRACT_ADDRESS:-`cat $ETH1_CONFIG_YAML | grep 'deposit_contract_address' | awk '{ print $2 }' | sed 's/"//g'`}
|
||||||
ETH1_DEPOSIT_CONTRACT_BLOCK=${ETH1_DEPOSIT_CONTRACT_BLOCK:-0x0}
|
ETH1_DEPOSIT_CONTRACT_BLOCK=${ETH1_DEPOSIT_CONTRACT_BLOCK:-0x0}
|
||||||
SUGGESTED_FEE_RECIPIENT=`cat ../build/el/accounts.csv | head -1 | cut -d',' -f2`
|
SUGGESTED_FEE_RECIPIENT=`cat ../build/el/accounts.csv | head -1 | cut -d',' -f2`
|
||||||
|
|
||||||
VALIDATOR_MNEMONIC="viable ketchup woman library opinion copy rhythm attend rose knock penalty practice photo bundle budget dentist enter round bind holiday useful arch danger lobster"
|
|
||||||
|
@ -9,7 +9,7 @@ STATUSES=(
|
|||||||
"beacon phase0"
|
"beacon phase0"
|
||||||
"beacon altair"
|
"beacon altair"
|
||||||
"beacon bellatrix pre-merge"
|
"beacon bellatrix pre-merge"
|
||||||
"beacon bellatrix merge"
|
"beacon post-merge"
|
||||||
"block number $MIN_BLOCK_NUM"
|
"block number $MIN_BLOCK_NUM"
|
||||||
)
|
)
|
||||||
STATUS=0
|
STATUS=0
|
||||||
@ -69,14 +69,22 @@ while [ $STATUS -lt ${#STATUSES[@]} ]; do
|
|||||||
;;
|
;;
|
||||||
2)
|
2)
|
||||||
result=`wget --no-check-certificate --quiet -O - "$LIGHTHOUSE_BASE_URL/eth/v2/beacon/blocks/head" | jq -r '.version'`
|
result=`wget --no-check-certificate --quiet -O - "$LIGHTHOUSE_BASE_URL/eth/v2/beacon/blocks/head" | jq -r '.version'`
|
||||||
if [ ! -z "$result" ] && ([ "$result" == "altair" ] || [ "$result" == "bellatrix" ]); then
|
if [ ! -z "$result" ]; then
|
||||||
|
case "$result" in
|
||||||
|
"altair" | "bellatrix" | "capella" | "deneb")
|
||||||
inc_status
|
inc_status
|
||||||
|
;;
|
||||||
|
esac
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
3)
|
3)
|
||||||
result=`wget --no-check-certificate --quiet -O - "$LIGHTHOUSE_BASE_URL/eth/v2/beacon/blocks/head" | jq -r '.version'`
|
result=`wget --no-check-certificate --quiet -O - "$LIGHTHOUSE_BASE_URL/eth/v2/beacon/blocks/head" | jq -r '.version'`
|
||||||
if [ ! -z "$result" ] && [ "$result" == "bellatrix" ]; then
|
if [ ! -z "$result" ]; then
|
||||||
|
case "$result" in
|
||||||
|
"bellatrix" | "capella" | "deneb")
|
||||||
inc_status
|
inc_status
|
||||||
|
;;
|
||||||
|
esac
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
4)
|
4)
|
||||||
|
@ -1,16 +0,0 @@
|
|||||||
version: "1.1"
|
|
||||||
name: fixturenet-eth-spam
|
|
||||||
description: "Ethereum Fixturenet with tx spam"
|
|
||||||
repos:
|
|
||||||
- git.vdb.to/cerc-io/lighthouse
|
|
||||||
- git.vdb.to/cerc-io/tx-spammer
|
|
||||||
containers:
|
|
||||||
- cerc/lighthouse
|
|
||||||
- cerc/lighthouse-cli
|
|
||||||
- cerc/fixturenet-eth-genesis-postmerge
|
|
||||||
- cerc/fixturenet-eth-geth
|
|
||||||
- cerc/fixturenet-eth-lighthouse
|
|
||||||
- cerc/tx-spammer
|
|
||||||
pods:
|
|
||||||
- fixturenet-eth
|
|
||||||
- tx-spammer
|
|
@ -2,7 +2,7 @@ version: "1.1"
|
|||||||
name: fixturenet-eth
|
name: fixturenet-eth
|
||||||
description: "Ethereum Fixturenet"
|
description: "Ethereum Fixturenet"
|
||||||
repos:
|
repos:
|
||||||
- git.vdb.to/cerc-io/lighthouse@testnet-genesis-eth1-withdrawal-creds
|
- git.vdb.to/cerc-io/lighthouse
|
||||||
containers:
|
containers:
|
||||||
- cerc/lighthouse
|
- cerc/lighthouse
|
||||||
- cerc/lighthouse-cli
|
- cerc/lighthouse-cli
|
||||||
|
@ -4,8 +4,9 @@ description: "Plugeth Ethereum Indexing Fixturenet"
|
|||||||
repos:
|
repos:
|
||||||
- git.vdb.to/cerc-io/plugeth@statediff
|
- git.vdb.to/cerc-io/plugeth@statediff
|
||||||
- git.vdb.to/cerc-io/plugeth-statediff
|
- git.vdb.to/cerc-io/plugeth-statediff
|
||||||
- git.vdb.to/cerc-io/lighthouse@testnet-genesis-eth1-withdrawal-creds
|
- git.vdb.to/cerc-io/lighthouse
|
||||||
- git.vdb.to/cerc-io/ipld-eth-db
|
- git.vdb.to/cerc-io/ipld-eth-db
|
||||||
|
- git.vdb.to/cerc-io/ipld-eth-server@v5
|
||||||
containers:
|
containers:
|
||||||
- cerc/plugeth-statediff
|
- cerc/plugeth-statediff
|
||||||
- cerc/plugeth
|
- cerc/plugeth
|
||||||
@ -15,6 +16,8 @@ containers:
|
|||||||
- cerc/lighthouse-cli
|
- cerc/lighthouse-cli
|
||||||
- cerc/fixturenet-eth-lighthouse
|
- cerc/fixturenet-eth-lighthouse
|
||||||
- cerc/ipld-eth-db
|
- cerc/ipld-eth-db
|
||||||
|
- cerc/ipld-eth-server
|
||||||
pods:
|
pods:
|
||||||
- fixturenet-plugeth
|
- fixturenet-plugeth
|
||||||
- ipld-eth-db
|
- ipld-eth-db
|
||||||
|
- ipld-eth-server
|
||||||
|
Loading…
Reference in New Issue
Block a user