-
Notifications
You must be signed in to change notification settings - Fork 2.1k
ci: hive tests #1348
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
ci: hive tests #1348
Changes from all commits
Commits
Show all changes
48 commits
Select commit
Hold shift + click to select a range
18f2b07
add hive workflow
Rjected 64f18f6
set up upload-artifact
Rjected 2a43a92
download reth image artifact
Rjected a8abe5c
make hive dependent on reth image upload
Rjected 68562a5
remove rust install from hive build
Rjected 0326365
cd to hivetests
Rjected af7d2a3
cache go stuff, start a single test
Rjected 89788d4
remove cache
Rjected 898a178
fix golang actions command
Rjected 1c59f7d
change working dir of hive run
Rjected a6ed80e
make matrix for hive tests
Rjected c95d09a
cat test output
Rjected 7bc73ef
add cat simulator logs on failure
Rjected 5f6b973
ensure right dir for failure test
Rjected 6320b55
add reth log println on failure
Rjected 429ff9c
remove ls's
Rjected 4ec9b59
ci: hive ci improvements (#1358)
onbjerg 2a623bd
ci: use paradigmxyz/hive
gakonst 7ffce5a
ci: use paradigm/hive when running tests
gakonst f243c24
add smoke simulator to hive matrix
Rjected 86681b2
run exactly one sim per job
Rjected f3fd3de
run exact smoke tests
Rjected 9639334
do not run snap p2p tests
Rjected bf1c1ec
properly use limits for devp2p tests
Rjected bbb5fd6
create a new job per limit
Rjected 7204daf
use include for devp2p, so snap is excluded
Rjected d58a06b
reorder matrix items
Rjected d245459
remove clique smoke test
Rjected f4cc74d
remove ethereum/consensus from hive test workflow
Rjected 1e8e8b8
add consensus test nightly job
Rjected 7d00e7b
test multiple limits in parallel
Rjected cd2ce8b
use separate job for ethereum/sync test
Rjected 128ab3f
change name of ethereum sync job
Rjected 195db3a
bug: Insert storage/bytecode from genesis (#1759)
rakita 6190d57
remove TestLargeTxRequest
Rjected efffc01
put continuous in sync sim
Rjected e77674a
remove debug.tip fork due to continuous downloader
Rjected 7c31e33
chore: remove commented out inspector code
gakonst e3977ca
split up rpc-compat methods
Rjected 13240eb
fix rpc-compat split
Rjected 223ffd5
remove historical eth_getProof test
Rjected 7d0fb5b
remove issues test, add pyspec simulator
Rjected a331df1
try to include getproof test that should work
Rjected 23307da
disable eth_getProof tests
Rjected ee061f1
comment out failing tests
Rjected 40ee36d
remove consensus test suite for now
Rjected 3b5bfc0
update with schedule
Rjected 32f331c
uncomment suites, run every day
Rjected File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.