Skip to content

feat(v31): integrated release candidate #1313

feat(v31): integrated release candidate

feat(v31): integrated release candidate #1313

name: ictest E2E
on:
pull_request:
paths:
- "**/*.go"
- "go.mod"
- "go.sum"
- "interchaintest/**"
- "proto/**"
- "api/**"
- "app/endpoints/**"
- "Dockerfile"
- "**/Dockerfile"
- "Makefile"
- "scripts/**"
- ".github/workflows/**"
push:
tags:
- "**"
branches:
- "main"
- "master"
paths:
- "**/*.go"
- "go.mod"
- "go.sum"
- "interchaintest/**"
- "proto/**"
- "api/**"
- "app/endpoints/**"
- "Dockerfile"
- "**/Dockerfile"
- "Makefile"
- "scripts/**"
- ".github/workflows/**"
permissions:
contents: read
env:
GO_VERSION: 1.25.10
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@11d5960a326750d5838078e36cf38b85af677262 # v4
- name: Setup Go ${{ env.GO_VERSION }}
uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: interchaintest/go.sum
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
- name: Build and export
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6
with:
context: .
# Tag must match the repo string in
# interchaintest/suite/ci_integration.go's GetDockerImageInfo
# (and the IMAGE var in the root Makefile's local-image target),
# otherwise the e2e jobs will try to pull from registry and
# hit "manifest unknown."
tags: ghcr.io/cosmoscontracts/juno:local
outputs: type=docker,dest=${{ env.TAR_PATH }}
- name: Upload artifact
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # 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
# Must match the ictest-* targets in the root Makefile.
test:
- "ictest-basic"
- "ictest-burn"
- "ictest-cw"
- "ictest-drip"
- "ictest-feemarket"
- "ictest-fees"
- "ictest-fixes"
- "ictest-ibc"
- "ictest-ibc-hooks"
- "ictest-node"
- "ictest-pfm"
- "ictest-tokenfactory"
- "ictest-upgrade"
- "ictest-dao-dao"
fail-fast: false
steps:
- name: Set up Go ${{ env.GO_VERSION }}
uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: interchaintest/go.sum
- name: checkout chain
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
- name: Download Tarball Artifact
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # 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
# A failed assertion is deterministic until proved otherwise. Do not
# retry it into a green lane; the original log and exit status remain
# the authoritative failure evidence.
run: make ${{ matrix.test }}