ci: add workflow to run end-to-end test #16
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: End-to-end tests | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
jobs: | |
e2e: | |
strategy: | |
fail-fast: false | |
matrix: | |
el-contracts: | |
# Mainnet version isn't used because of compile errors | |
- ref: v0.3.3-mainnet-rewards | |
version: v0.3.3 | |
# TODO: fix these | |
# # Rewards v1 | |
# # Doesn't compile | |
# - ref: v0.4.3-mainnet-rewards-foundation-incentives | |
# version: v0.4.3 | |
# # Rewards v2 | |
# # "delegation" was renamed to "delegationManager" in addresses JSON | |
# - ref: v0.5.3 | |
# version: v0.5.3 | |
# # Isn't supported by ICS yet | |
# - ref: slashing-magnitudes | |
# version: v1.0.3 | |
name: End-to-end test | |
runs-on: ubuntu-latest | |
steps: | |
# Install foundry, go, ko, and kurtosis | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: nightly | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: '1.21' | |
- uses: ko-build/[email protected] | |
- name: Install Kurtosis | |
shell: bash | |
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 | |
echo "$(dirname $(which kurtosis))" >> $GITHUB_PATH | |
# Install the devnet | |
# TODO: use action when available | |
- uses: actions/checkout@v4 | |
with: | |
repository: Layr-Labs/avs-devnet | |
path: avs-devnet | |
- name: Install devnet | |
working-directory: avs-devnet | |
run: make install | |
# Checkout repo | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
path: ics | |
- name: Run end-to-end test | |
working-directory: ics | |
run: | | |
export EL_REF=${{ matrix.el-contracts.ref }} | |
export EL_VERSION=${{ matrix.el-contracts.version }} | |
./scripts/e2e_test.sh |