| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- name: Wormchain's end-to-end Interchain Tests
- on:
- pull_request:
- push:
- tags:
- - "**"
- branches:
- - "main"
- permissions:
- contents: read
- env:
- GO_VERSION: 1.21
- TAR_PATH: /tmp/wormchain-docker-image.tar
- IMAGE_NAME: wormchain-docker-image
- concurrency:
- group: ${{ github.workflow }}-${{ github.ref }}
- cancel-in-progress: true
- jobs:
- build-docker:
- runs-on: ubuntu-latest
- permissions:
- packages: write
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - name: Setup Go ${{ env.GO_VERSION }}
- uses: actions/setup-go@v4
- with:
- go-version: ${{ env.GO_VERSION }}
- cache-dependency-path: wormchain/interchaintest/go.sum
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v3
- - name: Build and export
- uses: docker/build-push-action@v5
- with:
- context: .
- file: wormchain/Dockerfile.ict
- tags: wormchain:local
- outputs: type=docker,dest=${{ env.TAR_PATH }}
- - name: Upload artifact
- uses: actions/upload-artifact@v4
- with:
- name: ${{ env.IMAGE_NAME }}
- path: ${{ env.TAR_PATH }}
- e2e-tests:
- needs: build-docker
- runs-on: ubuntu-latest
- strategy:
- matrix:
- # names of `make` commands to run tests
- test:
- - "ictest-cancel-upgrade"
- - "ictest-slashing-params-update-vaa"
- - "ictest-upgrade"
- - "ictest-wormchain"
- # Disabled due to flakiness in CI.
- # - "ictest-ibc-receiver"
- - "ictest-validator-hotswap"
- - "ictest-cw-wormhole"
- - "ictest-cw-shutdown-contracts"
- fail-fast: false
- steps:
- - name: Set up Go ${{ env.GO_VERSION }}
- uses: actions/setup-go@v4
- with:
- go-version: ${{ env.GO_VERSION }}
- cache-dependency-path: interchaintest/go.sum
- - name: checkout chain
- uses: actions/checkout@v4
- - name: Download Tarball Artifact
- uses: actions/download-artifact@v4
- with:
- name: ${{ env.IMAGE_NAME }}
- path: /tmp
- - name: Load Docker Image
- run: |
- docker image load -i ${{ env.TAR_PATH }}
- docker image ls -a
- - name: Run Test
- id: run_test
- continue-on-error: true
- working-directory: wormchain
- run: make ${{ matrix.test }}
- - name: Retry Failed Test
- if: steps.run_test.outcome == 'failure'
- working-directory: wormchain
- run: |
- for i in 1 2; do
- echo "Retry attempt $i"
- if make ${{ matrix.test }}; then
- echo "Test passed on retry"
- exit 0
- fi
- done
- echo "Test failed after retries"
- exit 1
|