Skip to content

Migrate to compose v2 (#1059) #1045

Migrate to compose v2 (#1059)

Migrate to compose v2 (#1059) #1045

name: ictest E2E
on:
pull_request:
push:
tags:
- "**"
branches:
- "main"
- "master"
permissions:
contents: read
packages: write
env:
GO_VERSION: 1.22.0
TAR_PATH: /tmp/juno-docker-image.tar
IMAGE_NAME: juno-docker-image
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build-docker:
runs-on: ubuntu-latest
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: 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: .
tags: juno:local
outputs: type=docker,dest=${{ env.TAR_PATH }}
- name: Upload artifact
uses: actions/upload-artifact@v3
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-basic"
- "ictest-statesync"
- "ictest-ibchooks"
- "ictest-tokenfactory"
- "ictest-feeshare"
- "ictest-pfm"
- "ictest-globalfee"
- "ictest-upgrade"
- "ictest-ibc"
- "ictest-unity-deploy"
- "ictest-unity-gov"
- "ictest-pob"
- "ictest-drip"
- "ictest-feepay"
- "ictest-burn"
- "ictest-cwhooks"
- "ictest-clock"
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@v3
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
run: make ${{ matrix.test }}
- name: Retry Failed Test
if: steps.run_test.outcome == 'failure'
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