Skip to content

Debug Gnosis Tests

Debug Gnosis Tests #15

name: Debug Gnosis Tests
on:
workflow_dispatch:
inputs:
client:
description: "Client"
required: true
default: "nethermind-gnosis"
type: choice
options:
- nethermind-gnosis
- erigon-gnosis
- nethermind-old
- erigon-old
suite:
description: "Suite to run"
required: true
default: "withdrawals"
type: choice
options:
- ""
- withdrawals
- cancun
- engine-api
- engine-auth
- engine-exchange-capabilities
- network
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
client_check_time_limit:
description: "Single test timeout"
default: "10m"
type: string
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: 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 "${{ github.event.inputs.client }}" --results-root=${{ github.workspace }}/runs --sim.loglevel=${{ github.event.inputs.sim_log_level }} --loglevel=${{ github.event.inputs.log_level }} --client.checktimelimit=${{ github.event.inputs.client_check_time_limit }} --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 }}/