Adding user command integration tests to github CI workflow. #620
Workflow file for this run
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: integration-test | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
jobs: | |
LocalKeystore: | |
name: Integration Test - Local Keystore | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: '1.21' | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: nightly-c4a984fbf2c48b793c8cd53af84f56009dd1070c | |
- name: Checkout eigensdk-go | |
uses: actions/checkout@v4 | |
with: | |
repository: layr-labs/eigensdk-go | |
token: ${{ github.token }} | |
ref: 549e0185cee644d0a6fc9c9863f1cf76d9ef971f | |
- name: Run anvil chain | |
run: | | |
nohup make start-anvil-with-contracts-deployed > nohup.out 2>&1 & | |
- name: Install EigenLayer CLI | |
uses: actions/checkout@v4 | |
with: | |
path: eigenlayer-cli | |
- name: Install less | |
run: | | |
sudo apt update | |
sudo apt-get install less | |
- name: Install EigenLayer CLI | |
run: | | |
cd eigenlayer-cli | |
make build | |
./bin/eigenlayer --version | |
- name: Import Operator Keys and send funds | |
run: | | |
cd eigenlayer-cli | |
echo "" | ./bin/eigenlayer keys import --key-type ecdsa --insecure opr0 ea25637d76e7ddae9dab9bfac7467d76a1e3bf2d67941b267edc60f2b80d9413 | cat | |
cast send 0xcaB1b44dd1f1C265405878Ac1179cd94D0dBA634 --value 10ether --private-key 0x2a871d0798f97d79848a013d4936a73bf4cc922c825d33c1cf7073dff6d409c6 | |
- name: Register Operator | |
run: | | |
cd eigenlayer-cli | |
echo "" | ./bin/eigenlayer operator register tests/keystore/operator-ci.yaml | |
- name: Check operator status | |
run: | | |
cd eigenlayer-cli | |
./bin/eigenlayer operator status tests/keystore/operator-ci.yaml | |
- name: Update operator details | |
run: | | |
cd eigenlayer-cli | |
echo "" | ./bin/eigenlayer operator update tests/keystore/operator-ci.yaml | |
- name: Update operator metadata uri | |
run: | | |
cd eigenlayer-cli | |
echo "" | ./bin/eigenlayer operator update-metadata-uri tests/keystore/operator-ci.yaml | |
- name: Set Claimer address | |
run: | | |
cd eigenlayer-cli | |
echo "" | ./bin/eigenlayer rewards set-claimer \ | |
--network anvil \ | |
--eth-rpc-url http://localhost:8545 \ | |
--earner-address 0xcaB1b44dd1f1C265405878Ac1179cd94D0dBA634 \ | |
--claimer-address 0x2222AAC0C980Cc029624b7ff55B88Bc6F63C538f \ | |
--path-to-key-store /home/runner/.eigenlayer/operator_keys/opr0.ecdsa.key.json \ | |
--verbose \ | |
--broadcast | |
Web3Signer: | |
name: Integration Test - Web3 Signer | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: '1.21' | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: nightly-c4a984fbf2c48b793c8cd53af84f56009dd1070c | |
- name: Checkout eigensdk-go | |
uses: actions/checkout@v4 | |
with: | |
repository: layr-labs/eigensdk-go | |
token: ${{ github.token }} | |
ref: 549e0185cee644d0a6fc9c9863f1cf76d9ef971f | |
- name: Run anvil chain | |
run: | | |
nohup make start-anvil-with-contracts-deployed > nohup.out 2>&1 & | |
- name: Install EigenLayer CLI | |
uses: actions/checkout@v4 | |
with: | |
path: eigenlayer-cli | |
- name: Install less | |
run: | | |
sudo apt update | |
sudo apt-get install less | |
- name: Install EigenLayer CLI | |
run: | | |
cd eigenlayer-cli | |
make build | |
./bin/eigenlayer --version | |
- name: Run Web3 Signer | |
run: | | |
cd eigenlayer-cli/tests/web3signer | |
docker compose up -d | |
- name: Send funds | |
run: | | |
cd eigenlayer-cli | |
sleep 5 | |
cast send 0x7dbc809c1ec153d45ffb0c75fb4fded68e34699e --value 10ether --private-key 0x2a871d0798f97d79848a013d4936a73bf4cc922c825d33c1cf7073dff6d409c6 | |
- name: Register Operator | |
run: | | |
cd eigenlayer-cli | |
sleep 5 | |
./bin/eigenlayer operator register tests/web3signer/operator-ci.yaml | |
- name: Check operator status | |
run: | | |
cd eigenlayer-cli | |
./bin/eigenlayer operator status tests/web3signer/operator-ci.yaml | |
- name: Update operator details | |
run: | | |
cd eigenlayer-cli | |
./bin/eigenlayer operator update tests/web3signer/operator-ci.yaml | |
- name: Update operator metadata uri | |
run: | | |
cd eigenlayer-cli | |
./bin/eigenlayer operator update-metadata-uri tests/web3signer/operator-ci.yaml | |
- name: Set Claimer address | |
run: | | |
cd eigenlayer-cli | |
./bin/eigenlayer rewards set-claimer \ | |
--network anvil \ | |
--eth-rpc-url http://localhost:8545 \ | |
--earner-address 0x7dbc809c1ec153d45ffb0c75fb4fded68e34699e \ | |
--claimer-address 0x2222AAC0C980Cc029624b7ff55B88Bc6F63C538f \ | |
--web3signer-url http://127.0.0.1:9001 \ | |
--verbose \ | |
--broadcast | |
UserIntegrationTests: | |
name: Integration Test - User Commands | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: '1.21' | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: nightly-c4a984fbf2c48b793c8cd53af84f56009dd1070c | |
- name: Checkout eigensdk-go | |
uses: actions/checkout@v4 | |
with: | |
repository: layr-labs/eigensdk-go | |
token: ${{ github.token }} | |
ref: 549e0185cee644d0a6fc9c9863f1cf76d9ef971f | |
- name: Run anvil chain | |
run: | | |
nohup make start-anvil-with-contracts-deployed > nohup.out 2>&1 & | |
- name: Install EigenLayer CLI | |
uses: actions/checkout@v4 | |
with: | |
path: eigenlayer-cli | |
- name: Setup BATS | |
uses: mig4/setup-bats@v1 | |
- name: Install EigenLayer CLI | |
run: | | |
cd eigenlayer-cli | |
make build | |
./bin/eigenlayer --version | |
- name: Prepare Integration Test Environment | |
run: | | |
echo "Preparing environment for integration tests." | |
cd eigenlayer-cli | |
echo "CLI_PATH=${GITHUB_WORKSPACE}/bin/eigenlayer" >> .env | |
- name: Run User Command Integration Tests | |
run: | | |
cd eigenlayer-cli/tests/user | |
./user-integration-tests-runner.sh |