WIP - Protodanksharding #7054
This file contains 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
name: Build PR | |
# Builds and runs tests on each push to a branch PR'ed against main. | |
on: | |
pull_request: | |
paths-ignore: | |
- 'docs/**' | |
- 'design/**' | |
- 'planning/**' | |
branches: | |
- main | |
jobs: | |
build: | |
runs-on: self-hosted | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.21.8 | |
# Set the initial build number environment variable | |
- name: Set Build Number | |
run: | | |
echo "BUILD_NUMBER=1" >> $GITHUB_ENV | |
# Makes sure the artifacts are built correctly | |
- name: Build | |
run: go build -v ./... | |
# Makes sure the binaries for the eth2network are avail for all other tests | |
- name: Download eth2network binaries | |
run: go test ./... -v -count=1 -run TestEnsureBinariesAreAvail | |
# Close specified ports using lsof before testing / local port list compiled from ./integration/constants.go | |
- name: Close Integration Test Ports | |
run: | | |
killall -9 geth || true | |
killall -9 beacon || true | |
killall -9 validator || true | |
lowest_port=8000 # Lowest starting port | |
highest_port=58000 # Highest port considering the offset | |
additional_ports=(80 81 99) # Additional specific ports | |
# Find processes listening on ports within the range and kill them | |
for pid in $(lsof -iTCP:$lowest_port-$highest_port -sTCP:LISTEN -t); do | |
echo "Killing process $pid on one of the ports from $lowest_port to $highest_port" | |
kill $pid || true | |
done | |
# Find processes listening on ports within the range and kill them | |
for pid in $(lsof -iUDP:$lowest_port-$highest_port -t); do | |
echo "Killing process $pid on one of the ports from $lowest_port to $highest_port" | |
kill $pid || true | |
done | |
# Close additional specific ports | |
for port in "${additional_ports[@]}"; do | |
for pid in $(lsof -ti TCP:$port); do | |
echo "Killing process $pid on port $port" | |
kill $pid || true | |
done | |
done | |
- name: Test | |
run: go test --failfast -v ./... -count=1 -timeout 10m | |
- name: Store simulation logs | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: ci-logs | |
path: | | |
integration/.build/simulations/sim-log-*.txt | |
integration/.build/noderunner/noderunner-*.txt | |
integration/.build/wallet_extension/wal-ext-*.txt | |
integration/.build/eth2/* | |
integration/.build/faucet/* | |
integration/.build/tenscan/* | |
integration/.build/tengateway/* | |
integration/.build/contractdeployer/* | |
integration/.build/smartcontracts/* | |
retention-days: 1 | |