Dynamically generate compatibility test files #10455
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: Tests / E2E Fork | |
on: | |
workflow_dispatch: | |
pull_request: | |
branches: | |
- main | |
paths-ignore: | |
- 'docs/**' | |
- '**.md' | |
- 'LICENSE' | |
# cancel workflows if a new one is triggered on the same branch. | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} | |
jobs: | |
# dynamically build a matrix of test/test suite pairs to run | |
build-test-matrix: | |
# run this job on forks and copies of ibc-go, for example: a public fork or a private copy of ibc-go. | |
if: ${{ github.repository != 'cosmos/ibc-go' || github.event.pull_request.head.repo.fork || github.actor == 'dependabot[bot]' || github.event_name == 'workflow_dispatch' }} | |
runs-on: ubuntu-latest | |
outputs: | |
matrix: ${{ steps.set-matrix.outputs.matrix }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '1.22' | |
- id: set-matrix | |
run: | | |
output=$(go run cmd/build_test_matrix/main.go) | |
echo "matrix=$output" >> $GITHUB_OUTPUT | |
env: | |
TEST_EXCLUSIONS: 'TestUpgradeTestSuite,TestGrandpaTestSuite,TestIBCWasmUpgradeTestSuite' | |
# dynamically build a matrix of test/test suite pairs to run | |
build-test-matrix-wasm: | |
# run this job on forks and copies of ibc-go, for example: a public fork or a private copy of ibc-go. | |
if: ${{ github.repository != 'cosmos/ibc-go' || github.event.pull_request.head.repo.fork || github.actor == 'dependabot[bot]' || github.event_name == 'workflow_dispatch' }} | |
runs-on: ubuntu-latest | |
outputs: | |
matrix: ${{ steps.set-matrix.outputs.matrix }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '1.22' | |
- id: set-matrix | |
run: | | |
output=$(go run cmd/build_test_matrix/main.go) | |
echo "matrix=$output" >> $GITHUB_OUTPUT | |
env: | |
TEST_ENTRYPOINT: 'TestGrandpaTestSuite' | |
# e2e-fork runs the e2e tests directly by using a matrix strategy. | |
e2e-fork: | |
env: | |
CHAIN_A_TAG: latest | |
CHAIN_B_TAG: latest | |
CHAIN_IMAGE: ibc-go-simd | |
RELAYER_ID: "hermes" # by default use hermes for fork e2es. | |
FORK: "true" | |
# run this job on forks and copies of ibc-go, for example: a public fork or a private copy of ibc-go. | |
if: ${{ github.repository != 'cosmos/ibc-go' || github.event.pull_request.head.repo.fork || github.actor == 'dependabot[bot]' || github.event_name == 'workflow_dispatch' }} | |
needs: | |
- build-test-matrix | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: ${{ fromJSON(needs.build-test-matrix.outputs.matrix) }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Docker Build | |
run: docker build . -t "${CHAIN_IMAGE}:${CHAIN_A_TAG}" --build-arg IBC_GO_VERSION=latest | |
- name: Setup Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: '1.22' | |
cache-dependency-path: 'e2e/go.sum' | |
- name: Run e2e Test | |
run: | | |
cd e2e | |
make e2e-test test=${{ matrix.test }} | |
# this workflow runs only the wasm tests. | |
# e2e-fork-wasm: | |
# env: | |
# CHAIN_A_TAG: latest | |
# CHAIN_B_TAG: latest | |
# CHAIN_IMAGE: ibc-go-wasm-simd | |
# RELAYER_ID: "hyperspace" # by default use hyperspace relayer for fork wasm tests. | |
# FORK: "true" | |
# run this job on forks and copies of ibc-go, for example: a public fork or a private copy of ibc-go. | |
# if: ${{ github.repository != 'cosmos/ibc-go' || github.event.pull_request.head.repo.fork || github.actor == 'dependabot[bot]' || github.event_name == 'workflow_dispatch' }} | |
# needs: build-test-matrix-wasm | |
# runs-on: ubuntu-latest | |
# strategy: | |
# fail-fast: false | |
# matrix: ${{ fromJSON(needs.build-test-matrix-wasm.outputs.matrix) }} | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - uses: actions/setup-python@v5 | |
# with: | |
# python-version: '3.10' | |
# - name: Install dependencies | |
# run: make python-install-deps | |
# - name: Docker Build Wasm | |
# run: | | |
# version="$(scripts/get-libwasm-version.py --get-version)" | |
# checksum="$(scripts/get-libwasm-version.py --get-checksum)" | |
# docker build . -t "${CHAIN_IMAGE}:${CHAIN_A_TAG}" -f modules/light-clients/08-wasm/Dockerfile --build-arg LIBWASM_VERSION=${version} --build-arg LIBWASM_CHECKSUM=${checksum} | |
# - name: Setup Go | |
# uses: actions/setup-go@v5 | |
# with: | |
# go-version: '1.22' | |
# cache-dependency-path: 'e2e/go.sum' | |
# - name: Run e2e Test | |
# run: | | |
# cd e2e | |
# make e2e-test test=${{ matrix.test }} |