datahaven/.github/workflows/task-e2e.yml
Facundo Farall e161accac2
fix: 🧑‍💻 Fix and improve bun cli logging and functionalities (#60)
This PR:
1. Generally improves the logging of the testing CLI, making the logs
more concise and easier to follow, with clearer sections and
separations.
2. Launches DataHaven solochain nodes at the beginning not the end.
3. Prompts the user if they want to launch DataHaven nodes and
Snowbridge Relayers.

---------

Co-authored-by: Tim B <79199034+timbrinded@users.noreply.github.com>
2025-05-08 09:42:45 -03:00

87 lines
2.6 KiB
YAML

# End-To-End Tests: CI for starting a full ETH private network, deploying AVS and running tests.
#
# Overview:
# 1. Start kurtosis network
# 2. Deploy AVS contracts
# 3. Run E2E tests
name: E2E - Kurtosis Deploy and Verify
on:
workflow_dispatch:
workflow_call:
inputs:
binary-hash:
description: "The hash of the operator binary"
required: true
type: string
env:
FOUNDRY_PROFILE: ci
LOG_LEVEL: debug
jobs:
kurtosis:
runs-on: ubuntu-latest
name: E2E Tests with Kurtosis Ethereum Network
defaults:
run:
working-directory: test
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: oven-sh/setup-bun@v2
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
- name: Install Kurtosis
run: |
echo "deb [trusted=yes] https://apt.fury.io/kurtosis-tech/ /" | sudo tee /etc/apt/sources.list.d/kurtosis.list
sudo apt update
sudo apt install kurtosis-cli
kurtosis analytics disable
- run: kurtosis version
- uses: actions/cache@v4
with:
path: ~/.bun/install/cache
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lockb') }}
restore-keys: |
${{ runner.os }}-bun-
- name: Cache Foundry libraries
uses: actions/cache/restore@v4
with:
path: ../contracts/lib
key: ${{ runner.os }}-foundry-libs-${{ hashFiles('.gitmodules') }}
restore-keys: |
${{ runner.os }}-foundry-libs-
- name: Cache Foundry build artifacts
uses: actions/cache/restore@v4
with:
path: |
../contracts/out
../contracts/cache
key: ${{ runner.os }}-foundry-build-${{ hashFiles('contracts/foundry.toml', 'contracts/**/*.sol') }}
restore-keys: |
${{ runner.os }}-foundry-build-
- name: Download operator binary
uses: actions/download-artifact@v4
with:
name: datahaven-node-${{ inputs.binary-hash }}
path: operator/target/release/
- name: Download snowbridge binary
run: |
docker create --name temp moonsonglabs/snowbridge-relayer:latest
mkdir -p tmp/bin
docker cp temp:/usr/local/bin/snowbridge-relay tmp/bin/
chmod +x tmp/bin/snowbridge-relay
- run: tmp/bin/snowbridge-relay --help
- run: chmod +x ../operator/target/release/datahaven-node
- run: ../operator/target/release/datahaven-node --help
- run: bun install
- run: bun start:e2e:ci
- run: bun test:e2e