Use external fixturenet stack in CI #3
@ -9,15 +9,18 @@ on:
|
|||||||
- ci-test
|
- ci-test
|
||||||
|
|
||||||
env:
|
env:
|
||||||
SO_VERSION: roysc/fix-eth-stacks
|
SO_VERSION: v1.1.0-36d4969-202407091537
|
||||||
SYSTEM_TESTS_REF: roysc/test-blob-tx
|
SYSTEM_TESTS_REF: main
|
||||||
|
FIXTURENET_ETH_STACKS_REF: main
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test-beacon-collector:
|
test-beacon-collector:
|
||||||
name: Run Beacon collector tests
|
name: Run Beacon collector tests
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
progress: false
|
||||||
- uses: actions/setup-go@v4
|
- uses: actions/setup-go@v4
|
||||||
with:
|
with:
|
||||||
go-version-file: 'go.mod'
|
go-version-file: 'go.mod'
|
||||||
@ -29,37 +32,42 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
python-version: 3.11
|
python-version: 3.11
|
||||||
|
|
||||||
- name: "Install stack-orchestrator"
|
- name: Install stack-orchestrator
|
||||||
uses: actions/checkout@v3
|
run: |
|
||||||
with:
|
curl -L -O https://github.com/cerc-io/stack-orchestrator/releases/download/$SO_VERSION/laconic-so
|
||||||
repository: cerc-io/stack-orchestrator
|
chmod +x laconic-so
|
||||||
ref: ${{ env.SO_VERSION }}
|
echo PATH="$PATH:$(pwd)" >> $GITHUB_ENV
|
||||||
path: ./stack-orchestrator
|
|
||||||
- run: pip install ./stack-orchestrator
|
|
||||||
|
|
||||||
- name: "Clone system-tests"
|
- name: "Clone system-tests"
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: cerc-io/system-tests
|
repository: cerc-io/system-tests
|
||||||
ref: ${{ env.SYSTEM_TESTS_REF }}
|
ref: ${{ env.SYSTEM_TESTS_REF }}
|
||||||
path: ./system-tests
|
path: ./system-tests
|
||||||
token: ${{ secrets.CICD_REPO_TOKEN }}
|
token: ${{ secrets.CICD_REPO_TOKEN }}
|
||||||
|
progress: false
|
||||||
- name: "Install pytest"
|
- name: "Install pytest"
|
||||||
working-directory: ./system-tests
|
working-directory: ./system-tests
|
||||||
run: pip3 install pytest
|
run: pip3 install pytest
|
||||||
|
- name: "Clone fixturenet stack repo"
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
repository: cerc-io/fixturenet-eth-stacks
|
||||||
|
ref: ${{ env.FIXTURENET_ETH_STACKS_REF }}
|
||||||
|
path: ./fixturenet-eth-stacks
|
||||||
|
progress: false
|
||||||
|
|
||||||
- name: "Run fixturenet stack"
|
- name: "Run fixturenet stack"
|
||||||
run: ./scripts/integration-setup.sh
|
run: ./scripts/run-test-stack.sh ./fixturenet-eth-stacks/stack-orchestrator/stacks/fixturenet-plugeth
|
||||||
- name: "Run server"
|
- name: "Run server"
|
||||||
run: docker compose -f test/compose.yml up --wait --quiet-pull
|
run: docker compose -f test/compose.yml up --wait --quiet-pull
|
||||||
- name: "Run tests"
|
- name: "Run tests"
|
||||||
working-directory: ./system-tests
|
working-directory: ./system-tests
|
||||||
# Work around dependency conflicts:
|
# Work around dependency conflict in system-tests:
|
||||||
# - web3 uses an older eth-account until (unreleased) v7
|
# web3 uses an older eth-account until (unreleased) v7
|
||||||
# - old pydantic is pinned by stack-orchestrator
|
|
||||||
run: |
|
run: |
|
||||||
pip3 install -r requirements.txt
|
pip3 install -r requirements.txt
|
||||||
pip3 install --no-deps 'eth-account>=0.12.3'
|
pip3 install --no-deps 'eth-account>=0.12.3,<0.13'
|
||||||
pip3 install 'pydantic>=2.0.0'
|
pip3 install 'pydantic>=2.0.0'
|
||||||
python3 -m pytest -vv -k test_blob_tx
|
python3 -m pytest -vv -k test_blob_tx
|
||||||
|
|
||||||
@ -67,7 +75,9 @@ jobs:
|
|||||||
name: Run Blobscan scraper tests
|
name: Run Blobscan scraper tests
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
progress: false
|
||||||
- uses: actions/setup-go@v4
|
- uses: actions/setup-go@v4
|
||||||
with:
|
with:
|
||||||
go-version-file: 'go.mod'
|
go-version-file: 'go.mod'
|
||||||
|
@ -1,27 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# Builds and deploys a stack with only what we need.
|
|
||||||
# This script assumes it is running in the project root.
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
laconic_so="${LACONIC_SO:-laconic-so} --stack $(readlink -f test) --verbose"
|
|
||||||
config_dir=$(readlink -f "${CONFIG_DIR:-$(mktemp -d)}")
|
|
||||||
|
|
||||||
# Prevent conflicting tty output
|
|
||||||
export BUILDKIT_PROGRESS=plain
|
|
||||||
|
|
||||||
# By default assume we are running in the project root
|
|
||||||
export CERC_REPO_BASE_DIR="${CERC_REPO_BASE_DIR:-..}"
|
|
||||||
# The debugger can swallow error messages on panic
|
|
||||||
echo CERC_REMOTE_DEBUG=false >> $config_dir/stack.env
|
|
||||||
|
|
||||||
set -x
|
|
||||||
|
|
||||||
if [[ -z $SKIP_BUILD ]]; then
|
|
||||||
$laconic_so setup-repositories
|
|
||||||
$laconic_so build-containers
|
|
||||||
fi
|
|
||||||
|
|
||||||
$laconic_so deploy \
|
|
||||||
--env-file $config_dir/stack.env \
|
|
||||||
--cluster test up
|
|
33
scripts/run-test-stack.sh
Executable file
33
scripts/run-test-stack.sh
Executable file
@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
stack_dir=$(readlink -f "$1")
|
||||||
|
[[ -d "$stack_dir" ]]
|
||||||
|
|
||||||
|
laconic_so="laconic-so --verbose --stack $stack_dir"
|
||||||
|
|
||||||
|
CONFIG_DIR=$(readlink -f "${CONFIG_DIR:-$(mktemp -d)}")
|
||||||
|
# By default assume we are running in the project root.
|
||||||
|
export CERC_REPO_BASE_DIR="${CERC_REPO_BASE_DIR:-$(git rev-parse --show-toplevel)/..}"
|
||||||
|
|
||||||
|
# Don't run geth/plugeth in the debugger, it will swallow error backtraces
|
||||||
|
echo CERC_REMOTE_DEBUG=false >> $CONFIG_DIR/stack.env
|
||||||
|
|
||||||
|
set -x
|
||||||
|
|
||||||
|
if [[ -z $SKIP_BUILD ]]; then
|
||||||
|
# Prevent conflicting tty output
|
||||||
|
export BUILDKIT_PROGRESS=plain
|
||||||
|
|
||||||
|
$laconic_so setup-repositories
|
||||||
|
$laconic_so build-containers
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! $laconic_so deploy \
|
||||||
|
--env-file $CONFIG_DIR/stack.env \
|
||||||
|
--cluster test up
|
||||||
|
then
|
||||||
|
$laconic_so deploy --cluster test logs
|
||||||
|
exit 1
|
||||||
|
fi
|
Loading…
Reference in New Issue
Block a user