-
Notifications
You must be signed in to change notification settings - Fork 3
77 lines (75 loc) · 2.14 KB
/
ethshadow.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
name: Ethshadow
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
schedule:
- cron: '0 0 * * *'
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Shadow's dependencies
run : |
# required dependencies
sudo apt-get install -y \
cmake \
findutils \
libclang-dev \
libc-dbg \
libglib2.0-0 \
libglib2.0-dev \
make \
netbase \
python3 \
python3-networkx \
xz-utils \
util-linux \
gcc \
g++
- name: Install Shadow
run: |
git clone https://github.com/shadow/shadow.git
cd shadow
./setup build --clean
./setup install
cd ..
- name: Install Lighthouse's dependencies
run : |
sudo apt update
sudo apt install -y git gcc g++ make cmake pkg-config llvm-dev libclang-dev clang
- name: Install Lighthouse
run: |
git clone https://github.com/sigp/lighthouse.git
cd lighthouse
git checkout v5.3.0
make
make install-lcli
lighthouse -V
cd ..
- name: Install Geth
run: |
git clone https://github.com/ethereum/go-ethereum.git
cd go-ethereum
git checkout v1.14.11
make all
sudo cp build/bin/geth /usr/local/bin/geth
sudo cp build/bin/bootnode /usr/local/bin/bootnode
geth -v
cd ..
- name: Install Ethshadow
run: |
cargo install --path .
- name: Run Ethshadow
run: |
ethshadow ci/config.yaml
- name: Check Ethshadow
run: |
block_received_lines=$(cat ./data/shadow/hosts/node*/lighthouse.*.stderr | grep "New block received" | wc -l)
echo "block_received_lines=$block_received_lines"
test $block_received_lines -gt 200
block_published_lines=$(cat ./data/shadow/hosts/node*/lighthouse.*.stderr | grep "Signed block published" | wc -l)
echo "block_published_lines=$block_published_lines"
test $block_published_lines -eq 24