e2e #312
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 | |
SP1_OPERATOR_REV: 07e23bba5000c9d67dfc1d975ac477164e56db1f | |
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 | |
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.22" | |
check-latest: true | |
cache-dependency-path: e2e/interchaintestv8/go.sum | |
- name: Install rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly-2024-10-11 | |
- name: "Cache Operator" | |
id: cache-operator | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.cargo/bin/ | |
key: ${{ runner.os }}-operator-${{ env.SP1_OPERATOR_REV }} | |
- name: Install SP1 toolchain | |
if: steps.cache-operator.outputs.cache-hit != 'true' | |
run: | | |
curl -L https://sp1.succinct.xyz | bash | |
~/.sp1/bin/sp1up | |
~/.sp1/bin/cargo-prove prove --version | |
- name: Install operator | |
if: steps.cache-operator.outputs.cache-hit != 'true' | |
uses: actions-rs/cargo@v1 | |
with: | |
toolchain: nightly-2024-10-11 | |
command: install | |
args: --git https://github.com/cosmos/sp1-ics07-tendermint --rev ${{ env.SP1_OPERATOR_REV }} sp1-ics07-tendermint-operator --bin operator --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.1 # 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 |