e2e #534
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: e2e | |
on: | |
schedule: | |
- cron: "0 0 * * *" | |
workflow_dispatch: | |
inputs: | |
ethTestnetType: | |
description: 'Eth testnet type' | |
required: false | |
default: 'pow' | |
type: choice | |
options: | |
- pow | |
- pos | |
push: | |
branches: [main] | |
pull_request: | |
paths: | |
- '**.rs' | |
- '**.go' | |
- '**.toml' | |
- '**.lock' | |
- '**.mod' | |
- '**.sum' | |
- '**.sol' | |
- '.github/workflows/e2e.yml' | |
- 'bun.lockb' | |
env: | |
FOUNDRY_PROFILE: ci | |
permissions: | |
contents: read | |
jobs: | |
golangci: | |
name: lint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: "1.23" | |
cache-dependency-path: e2e/interchaintestv8/go.sum | |
- name: golangci-lint | |
uses: golangci/golangci-lint-action@v6 | |
with: | |
version: v1.61 | |
working-directory: e2e/interchaintestv8 | |
e2e: | |
strategy: | |
fail-fast: false | |
matrix: | |
test: | |
# List your tests here | |
- TestWithIbcEurekaTestSuite/TestDeploy_Groth16 | |
- TestWithIbcEurekaTestSuite/TestDeploy_Plonk | |
- TestWithIbcEurekaTestSuite/TestICS20TransferERC20TokenfromEthereumToCosmosAndBack_Groth16 | |
- TestWithIbcEurekaTestSuite/TestICS20TransferERC20TokenfromEthereumToCosmosAndBack_Plonk | |
- TestWithIbcEurekaTestSuite/Test_25_ICS20TransferERC20TokenfromEthereumToCosmosAndBack_Groth16 | |
- TestWithIbcEurekaTestSuite/Test_50_ICS20TransferERC20TokenfromEthereumToCosmosAndBack_Groth16 | |
- TestWithIbcEurekaTestSuite/Test_50_ICS20TransferERC20TokenfromEthereumToCosmosAndBack_Plonk | |
- TestWithIbcEurekaTestSuite/TestICS20TransferNativeCosmosCoinsToEthereumAndBack_Groth16 | |
- TestWithIbcEurekaTestSuite/TestICS20TransferNativeCosmosCoinsToEthereumAndBack_Plonk | |
- TestWithIbcEurekaTestSuite/TestICS20TransferTimeoutFromEthereumToCosmosChain_Groth16 | |
- TestWithIbcEurekaTestSuite/TestICS20TransferTimeoutFromEthereumToCosmosChain_Plonk | |
- TestWithRelayerTestSuite/TestRelayerInfo | |
- TestWithRelayerTestSuite/TestRecvPacketToEth_Groth16 | |
- TestWithRelayerTestSuite/TestRecvPacketToEth_Plonk | |
- TestWithRelayerTestSuite/Test_10_RecvPacketToEth_Groth16 | |
- TestWithRelayerTestSuite/Test_5_RecvPacketToEth_Plonk | |
- TestWithRelayerTestSuite/TestBatchedAckPacketToEth_Groth16 | |
- TestWithRelayerTestSuite/TestBatchedAckPacketToEth_Plonk | |
- TestWithRelayerTestSuite/Test_10_BatchedAckPacketToEth_Groth16 | |
- TestWithRelayerTestSuite/Test_5_BatchedAckPacketToEth_Plonk | |
- TestWithRelayerTestSuite/TestTimeoutPacketFromEth_Groth16 | |
- TestWithRelayerTestSuite/TestTimeoutPacketFromEth_Plonk | |
- TestWithRelayerTestSuite/Test_10_TimeoutPacketFromEth_Groth16 | |
- TestWithRelayerTestSuite/Test_5_TimeoutPacketFromEth_Plonk | |
- TestWithRelayerTestSuite/TestRecvPacketToCosmos | |
- TestWithRelayerTestSuite/Test_10_RecvPacketToCosmos | |
- TestWithCosmosRelayerTestSuite/TestRelayerInfo | |
- TestWithCosmosRelayerTestSuite/TestICS20RecvAndAckPacket | |
- TestWithCosmosRelayerTestSuite/Test_10_ICS20RecvAndAckPacket | |
- TestWithCosmosRelayerTestSuite/TestICS20TimeoutPacket | |
- TestWithCosmosRelayerTestSuite/Test_10_ICS20TimeoutPacket | |
- TestWithSP1ICS07TendermintTestSuite/TestDeploy_Groth16 | |
- TestWithSP1ICS07TendermintTestSuite/TestDeploy_Plonk | |
- TestWithSP1ICS07TendermintTestSuite/TestUpdateClient_Groth16 | |
- TestWithSP1ICS07TendermintTestSuite/TestUpdateClient_Plonk | |
- TestWithSP1ICS07TendermintTestSuite/TestMembership_Groth16 | |
- TestWithSP1ICS07TendermintTestSuite/TestMembership_Plonk | |
- TestWithSP1ICS07TendermintTestSuite/TestUpdateClientAndMembership_Groth16 | |
- TestWithSP1ICS07TendermintTestSuite/TestUpdateClientAndMembership_Plonk | |
- TestWithSP1ICS07TendermintTestSuite/TestDoubleSignMisbehaviour_Groth16 | |
- TestWithSP1ICS07TendermintTestSuite/TestDoubleSignMisbehaviour_Plonk | |
- TestWithSP1ICS07TendermintTestSuite/TestBreakingTimeMonotonicityMisbehaviour_Groth16 | |
- TestWithSP1ICS07TendermintTestSuite/TestBreakingTimeMonotonicityMisbehaviour_Plonk | |
- TestWithSP1ICS07TendermintTestSuite/Test100Membership_Groth16 | |
- TestWithSP1ICS07TendermintTestSuite/Test25Membership_Plonk | |
name: ${{ matrix.test }} | |
runs-on: ubuntu-latest | |
env: | |
ETH_TESTNET_TYPE: ${{ github.event.inputs.ethTestnetType || (github.event_name == 'schedule' && 'pos') || 'pow' }} | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: "Set up environment" | |
uses: ./.github/setup | |
- name: Setup Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: "1.23" | |
check-latest: true | |
cache-dependency-path: e2e/interchaintestv8/go.sum | |
- name: "Cache Relayer and Operator" | |
id: cache-relayer | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.cargo/bin/relayer | |
~/.cargo/bin/operator | |
key: ${{ runner.os }}-relayer-${{ hashFiles('Cargo.lock', 'packages/**', 'programs/**') }} | |
- name: Install SP1 toolchain | |
if: (steps.cache-relayer.outputs.cache-hit != 'true') | |
run: | | |
curl -L https://sp1.succinct.xyz | bash | |
~/.sp1/bin/sp1up --token ${{ secrets.GITHUB_TOKEN }} | |
~/.sp1/bin/cargo-prove prove --version | |
- name: Install operator | |
if: steps.cache-relayer.outputs.cache-hit != 'true' | |
uses: actions-rs/cargo@v1 | |
with: | |
command: install | |
args: --bin operator --path programs/operator --locked | |
- name: Install relayer | |
if: steps.cache-relayer.outputs.cache-hit != 'true' | |
uses: actions-rs/cargo@v1 | |
with: | |
command: install | |
args: --bin relayer --path programs/relayer --locked | |
- name: Setup Kurtosis | |
if: env.ETH_TESTNET_TYPE == 'pos' | |
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=1.4.3 # Must match the kurtosis library version we use in the e2e tests | |
kurtosis engine start | |
kurtosis analytics disable | |
echo "$(dirname $(which kurtosis))" >> $GITHUB_PATH | |
shell: bash | |
- name: Run Tests | |
env: | |
SP1_PRIVATE_KEY: ${{ secrets.SP1_PRIVATE_KEY }} | |
run: | | |
cd e2e/interchaintestv8 | |
go test -v -mod=readonly . -run '^${{ matrix.test }}$' -timeout 40m |