Skip to content

Merge pull request #126 from ackintosh/concurrent-requests #385

Merge pull request #126 from ackintosh/concurrent-requests

Merge pull request #126 from ackintosh/concurrent-requests #385

Workflow file for this run

on:
push:
branches:
- main
pull_request:
name: CI
jobs:
check:
name: Check
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Run cargo check
uses: actions-rs/cargo@v1
with:
command: check
lints:
name: Lints
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy
- name: Run cargo fmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
- name: Run cargo clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: -- -D warnings
find-node:
name: Run find-node
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- name: Checkout sources
uses: actions/checkout@v2
with:
path: discv5-testground
- name: Checkout testground
uses: actions/checkout@v2
with:
path: testground
repository: testground/testground
- name: Setup Go
uses: actions/setup-go@v3
with:
go-version: '>=1.18.0'
- name: Install testground
run: make install
working-directory: testground
- name: Run testground daemon
run: testground daemon &
# In order to ensure that the containers are ready at running `find-node` plan later, run the healthcheck subcommand with the --fix option.
- name: Run testground healthcheck
run: testground healthcheck --runner local:docker --fix
- name: Wait until InfluxDB ready
run: discv5-testground/.github/wait_until_influxdb_ready.sh
# ########################################
# Run find-node test plan
# ########################################
- name: Import test plans from discv5-testground
run: testground plan import --from discv5-testground
- name: Run find-node
# `--instances` option is set to 16 because in the sigp/discv5 implementation, the maximum number of nodes in a bucket is set to 16.
# If the `--instances` option is set to over 16, `Table full` error could occur on bootstrap node.
run: |
testground run single \
--plan=discv5-testground \
--testcase=find-node \
--builder=docker:generic \
--runner=local:docker \
--instances=16 \
--wait
eclipse-attack-monopolizing-by-incoming-nodes:
name: Run eclipse-attack-monopolizing-by-incoming-nodes
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- name: Checkout sources
uses: actions/checkout@v2
with:
path: discv5-testground
- name: Checkout testground
uses: actions/checkout@v2
with:
path: testground
repository: testground/testground
- name: Setup Go
uses: actions/setup-go@v3
with:
go-version: '>=1.18.0'
- name: Install testground
run: make install
working-directory: testground
- name: Run testground daemon
run: testground daemon &
# In order to ensure that the containers are ready at running `find-node` plan later, run the healthcheck subcommand with the --fix option.
- name: Run testground healthcheck
run: testground healthcheck --runner local:docker --fix
- name: Wait until InfluxDB ready
run: discv5-testground/.github/wait_until_influxdb_ready.sh
# ########################################
# Run find-node test plan
# ########################################
- name: Import test plans from discv5-testground
run: testground plan import --from discv5-testground
- name: Run eclipse-attack-monopolizing-by-incoming-nodes
run: |
testground run composition \
-f discv5-testground/compositions/eclipse-attack-monopolizing-by-incoming-nodes.toml \
--wait