Skip to content
Merged
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
18f2b07
add hive workflow
Rjected Feb 14, 2023
64f18f6
set up upload-artifact
Rjected Feb 14, 2023
2a43a92
download reth image artifact
Rjected Feb 14, 2023
a8abe5c
make hive dependent on reth image upload
Rjected Feb 14, 2023
68562a5
remove rust install from hive build
Rjected Feb 14, 2023
0326365
cd to hivetests
Rjected Feb 14, 2023
af7d2a3
cache go stuff, start a single test
Rjected Feb 14, 2023
89788d4
remove cache
Rjected Feb 14, 2023
898a178
fix golang actions command
Rjected Feb 14, 2023
1c59f7d
change working dir of hive run
Rjected Feb 14, 2023
a6ed80e
make matrix for hive tests
Rjected Feb 14, 2023
c95d09a
cat test output
Rjected Feb 14, 2023
7bc73ef
add cat simulator logs on failure
Rjected Feb 14, 2023
5f6b973
ensure right dir for failure test
Rjected Feb 14, 2023
6320b55
add reth log println on failure
Rjected Feb 14, 2023
429ff9c
remove ls's
Rjected Feb 14, 2023
4ec9b59
ci: hive ci improvements (#1358)
onbjerg Feb 15, 2023
2a623bd
ci: use paradigmxyz/hive
gakonst Feb 17, 2023
7ffce5a
ci: use paradigm/hive when running tests
gakonst Feb 21, 2023
f243c24
add smoke simulator to hive matrix
Rjected Feb 17, 2023
86681b2
run exactly one sim per job
Rjected Feb 21, 2023
f3fd3de
run exact smoke tests
Rjected Feb 21, 2023
9639334
do not run snap p2p tests
Rjected Feb 21, 2023
bf1c1ec
properly use limits for devp2p tests
Rjected Feb 21, 2023
bbb5fd6
create a new job per limit
Rjected Feb 21, 2023
7204daf
use include for devp2p, so snap is excluded
Rjected Feb 21, 2023
d58a06b
reorder matrix items
Rjected Feb 21, 2023
d245459
remove clique smoke test
Rjected Feb 21, 2023
f4cc74d
remove ethereum/consensus from hive test workflow
Rjected Feb 23, 2023
1e8e8b8
add consensus test nightly job
Rjected Feb 23, 2023
7d00e7b
test multiple limits in parallel
Rjected Mar 2, 2023
cd2ce8b
use separate job for ethereum/sync test
Rjected Mar 7, 2023
128ab3f
change name of ethereum sync job
Rjected Mar 7, 2023
195db3a
bug: Insert storage/bytecode from genesis (#1759)
rakita Mar 15, 2023
6190d57
remove TestLargeTxRequest
Rjected Mar 15, 2023
efffc01
put continuous in sync sim
Rjected Mar 19, 2023
e77674a
remove debug.tip fork due to continuous downloader
Rjected Mar 20, 2023
7c31e33
chore: remove commented out inspector code
gakonst Mar 20, 2023
e3977ca
split up rpc-compat methods
Rjected Mar 22, 2023
13240eb
fix rpc-compat split
Rjected Mar 22, 2023
223ffd5
remove historical eth_getProof test
Rjected Mar 28, 2023
7d0fb5b
remove issues test, add pyspec simulator
Rjected Mar 28, 2023
a331df1
try to include getproof test that should work
Rjected Mar 28, 2023
23307da
disable eth_getProof tests
Rjected Apr 13, 2023
ee061f1
comment out failing tests
Rjected Apr 19, 2023
40ee36d
remove consensus test suite for now
Rjected Apr 19, 2023
3b5bfc0
update with schedule
Rjected Apr 21, 2023
32f331c
uncomment suites, run every day
Rjected Apr 21, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
146 changes: 146 additions & 0 deletions .github/workflows/hive.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
on:
schedule:
# every day
- cron: '0 0 * * *'

env:
RUSTFLAGS: -D warnings
CARGO_TERM_COLOR: always

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

name: hive
jobs:
prepare:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
- run: mkdir artifacts

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build and export reth image
uses: docker/build-push-action@v4
with:
context: .
tags: paradigmxyz/reth:main
outputs: type=docker,dest=./artifacts/reth_image.tar
cache-from: type=gha
cache-to: type=gha,mode=max

# TODO: replace when we are not using a fork
- name: Checkout hive tests
uses: actions/checkout@v3
with:
repository: paradigmxyz/hive
ref: master
path: hivetests

- uses: actions/setup-go@v3
with:
go-version: '^1.13.1'
- run: go version
- name: Build hive tool
run: |
cd hivetests
go build .
mv ./hive ../artifacts/

- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: artifacts
path: ./artifacts


test:
continue-on-error: ${{ matrix.experimental }}
strategy:
matrix:
experimental: [true]
sim: [ethereum/rpc, smoke/genesis, smoke/network, ethereum/sync]
include:
- sim: devp2p
limit: discv4
experimental: true
- sim: devp2p
limit: eth
# we have excluded these tests because we do not support block
# announcements
# exclude: [TestLargeAnnounce, TestBroadcast, TestBlockHashAnnounce]
include: [TestStatus, TestGetBlockHeaders, TestSimultaneousRequests, TestSameRequestID, TestZeroRequestID, TestGetBlockBodies, TestMaliciousHandshake, TestMaliciousStatus, TestTransaction, TestMaliciousTx]
experimental: true
- sim: ethereum/engine
limit: engine-exchange-capabilities
experimental: true
- sim: ethereum/engine
limit: engine-withdrawals
experimental: true
- sim: ethereum/engine
limit: engine-auth
experimental: true
- sim: ethereum/engine
limit: engine-transition
experimental: true
- sim: ethereum/engine
limit: engine-api
experimental: true
# eth_ rpc methods
- sim: ethereum/rpc-compat
include: [eth_blockNumber, eth_call, eth_chainId, eth_createAccessList, eth_estimateGas, eth_feeHistory, eth_getBalance, eth_getBlockBy, eth_getBlockTransactionCountBy, eth_getCode, eth_getStorage, eth_getTransactionBy, eth_getTransactionCount, eth_sendRawTransaction, eth_syncing]
experimental: true
# not running eth_getProof tests because we do not support
# eth_getProof yet
# - sim: ethereum/rpc-compat
# include: [eth_getProof/get-account-proof-with-storage, eth_getProof/get-account-proof]
# experimental: true
# debug_ rpc methods
- sim: ethereum/rpc-compat
include: [debug_]
experimental: true
fail-fast: false
needs: prepare
name: run
runs-on: ubuntu-latest

steps:
- name: Download artifacts
uses: actions/download-artifact@v3
with:
name: artifacts
path: /tmp

- name: Load Docker image
run: |
docker load --input /tmp/reth_image.tar
docker image ls -a
- name: Move hive binary
run: |
mv /tmp/hive /usr/local/bin
chmod +x /usr/local/bin/hive

# TODO: replace when we are not using a fork
- name: Checkout hive tests
uses: actions/checkout@v3
with:
repository: paradigmxyz/hive
ref: master
path: hivetests

- name: Run ${{ matrix.sim }} simulator
run: |
cd hivetests
hive --sim "${{ matrix.sim }}$" --sim.limit "${{matrix.limit}}/${{join(matrix.include, '|')}}" --client reth

- name: Print simulator output
if: ${{ failure() }}
run: |
cat hivetests/workspace/logs/*simulator*.log

- name: Print reth client logs
if: ${{ failure() }}
run: |
cat hivetests/workspace/logs/reth/client-*.log