forked from ethereum/hive
-
Notifications
You must be signed in to change notification settings - Fork 2
129 lines (118 loc) · 3.95 KB
/
dashboard_debug_detailed.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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
name: Debug Gnosis Tests (detailed)
on:
workflow_dispatch:
inputs:
baseimage:
description: "Base image"
required: true
default: "nethermindeth/nethermind"
type: string
tag:
description: "Client docker image tag"
required: true
default: "master"
type: string
client:
description: "Client"
required: true
default: "nethermind-gnosis"
type: choice
options:
- nethermind-gnosis
- erigon-gnosis
- nethermind-old
- erigon-old
- reth-gnosis
suite:
description: "Suite to run. Could be any of the following: withdrawals cancun engine-api engine-auth engine-exchange-capabilities network. To run a single test, use the test name started from '/' (e.g. '/Withdrawals Fork on Canonical Block 8 / Side Block 7 - 10 Block Re-Org Sync')"
required: true
default: "withdrawals"
type: string
branch:
description: "Branch to run tests on"
required: true
default: "reflow"
simulator:
description: "Hive simulator"
required: true
default: "ethereum/gnosis-engine-jq"
type: choice
options:
- ethereum/gnosis-engine-jq
- ethereum/engine-gnosis-erigon
- ethereum/engine-gnosis-nethermind
- smoke
parallelism:
description: "Parallelism"
required: true
default: "1"
type: number
min: 1
max: 10
hive_ttd_enabled:
description: "Hive TTD Enabled"
required: true
default: "true"
type: boolean
log_level:
description: "Log level"
default: "5"
type: number
min: 1
max: 5
sim_log_level:
description: "Simulator log level"
default: "5"
type: number
min: 1
max: 5
jobs:
hive-run:
runs-on: ubuntu-latest
steps:
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: stable
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Install Linux packages
run: |
sudo apt-get update
sudo apt-get install libsnappy-dev libc6-dev libc6 build-essential
- name: Checkout code
uses: actions/checkout@v2
with:
ref: ${{ github.event.inputs.branch }}
- name: Download dependencies
run: go get -v ./...
- name: Build hive
run: go build -v -o hive hive.go
- name: Patch Hive Dockerfile
run: |
tag=${{ github.event.inputs.tag }}
client=${{ github.event.inputs.client }}
baseimage=${{ github.event.inputs.baseimage }}
ls -la
sed -i \
-e "s|client: custom_client|client: $client|" \
-e "s|baseimage: custom_image|baseimage: $baseimage|" \
-e "s|tag: custom_tag|tag: $tag|" \
configs/generic.yml
cat configs/generic.yml
- name: Run tests
continue-on-error: true
run: |
HIVE_TTD_ENABLED=${{ github.event.inputs.hive_ttd_enabled }} ./hive --sim "${{ github.event.inputs.simulator }}" --sim.limit="${{ github.event.inputs.suite }}" --client-file configs/generic.yml --results-root=${{ github.workspace }}/runs --sim.loglevel=${{ github.event.inputs.sim_log_level }} --loglevel=${{ github.event.inputs.log_level }} --client.checktimelimit=20m --docker.output --sim.parallelism=${{ github.event.inputs.parallelism }}
- name: Send file over SSH
if: always()
uses: appleboy/scp-action@master
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USERNAME }}
key: ${{ secrets.SSH_KEY }}
port: ${{ secrets.SSH_PORT }}
source: ${{ github.workspace }}/runs/*
target: ${{ secrets.DIR }}/