Tests / E2E Upgrade #2151
This file contains hidden or 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 Upgrade | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| branches: | |
| - main | |
| paths: | |
| # upgrade tests will run on any changes to the upgrade_test.go file, | |
| # and changes to the workflow itself. | |
| - 'e2e/tests/upgrades/*.go' | |
| - '.github/workflows/e2e-upgrade.yaml' | |
| schedule: | |
| - cron: '0 0 * * *' | |
| env: | |
| DOCKER_IMAGE_NAME: ghcr.io/cosmos/ibc-go-simd | |
| jobs: | |
| e2e-upgrade-tests: | |
| runs-on: depot-ubuntu-24.04-4 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| test-config: [ | |
| { | |
| tag: v6.1.0, | |
| upgrade-plan: v7, | |
| test: TestV6ToV7ChainUpgrade | |
| }, | |
| { | |
| tag: v7.0.0, | |
| upgrade-plan: v7.1, | |
| test: TestV7ToV7_1ChainUpgrade | |
| }, | |
| { | |
| tag: v7.10.0, | |
| upgrade-plan: v8, | |
| test: TestV7ToV8ChainUpgrade | |
| }, | |
| { | |
| tag: v8.0.0, | |
| upgrade-plan: v8.1, | |
| test: TestV8ToV8_1ChainUpgrade | |
| }, | |
| { | |
| tag: v8.7.0, | |
| upgrade-plan: v10, | |
| test: TestV8ToV10ChainUpgrade | |
| }, | |
| { | |
| tag: v8.7.0, | |
| upgrade-plan: v10, | |
| test: TestV8ToV10ChainUpgrade_Localhost | |
| }, | |
| { | |
| tag: v10.7.0, | |
| upgrade-plan: v11.1, | |
| test: TestV10ToV11ChainUpgrade | |
| }, | |
| ] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| repository: cosmos/ibc-go | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version: '1.25.9' | |
| cache-dependency-path: 'e2e/go.sum' | |
| - name: Run e2e Test | |
| id: e2e_test | |
| env: | |
| CHAIN_IMAGE: '${{ env.DOCKER_IMAGE_NAME }}' | |
| CHAIN_A_TAG: '${{ matrix.test-config.tag }}' | |
| CHAIN_B_TAG: '${{ matrix.test-config.tag }}' | |
| CHAIN_C_TAG: '${{ matrix.test-config.tag }}' | |
| CHAIN_D_TAG: '${{ matrix.test-config.tag }}' | |
| CHAIN_UPGRADE_PLAN: '${{ matrix.test-config.upgrade-plan }}' | |
| E2E_CONFIG_PATH: 'ci-e2e-config.yaml' | |
| run: | | |
| cd e2e | |
| make e2e-test test=${{ matrix.test-config.test }} | |
| - name: Upload Diagnostics | |
| uses: actions/upload-artifact@v7 | |
| if: ${{ failure() }} | |
| continue-on-error: true | |
| with: | |
| name: '${{ matrix.test-config.entrypoint }}-${{ matrix.test-config.test }}' | |
| path: e2e/diagnostics | |
| retention-days: 5 | |
| # This test upgrades a hardcoded legacy v10 PFM fixture to the current image, so it cannot use | |
| # the published-tag-only matrix above. | |
| legacy-v10-pfm-upgrade-test: | |
| runs-on: depot-ubuntu-24.04-4 | |
| env: | |
| SIMD_TAG: local | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| repository: cosmos/ibc-go | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version: '1.25.9' | |
| cache-dependency-path: 'e2e/go.sum' | |
| - name: Build current simd image | |
| run: | | |
| docker build . -t "${{ env.DOCKER_IMAGE_NAME }}:${SIMD_TAG}" --build-arg "IBC_GO_VERSION=${{ github.ref_name }}" | |
| - name: Run legacy v10 PFM upgrade test | |
| id: e2e_test | |
| env: | |
| CHAIN_IMAGE: '${{ env.DOCKER_IMAGE_NAME }}' | |
| CHAIN_A_TAG: '${{ env.SIMD_TAG }}' | |
| # Chain B starts from a fixture image with legacy v10 PFM state; chain A/C use the target image built above. | |
| CHAIN_B_TAG: 'compat-v10-with-legacy-pfm' | |
| CHAIN_C_TAG: '${{ env.SIMD_TAG }}' | |
| CHAIN_D_TAG: '${{ env.SIMD_TAG }}' | |
| E2E_CONFIG_PATH: 'ci-e2e-config.yaml' | |
| run: | | |
| cd e2e | |
| make e2e-test test=TestV10LegacyPFMUpgradePreservesInFlightPackets | |
| - name: Upload Diagnostics | |
| uses: actions/upload-artifact@v7 | |
| if: ${{ failure() }} | |
| continue-on-error: true | |
| with: | |
| name: 'TestV10LegacyPFMUpgradeTestSuite-TestV10LegacyPFMUpgradePreservesInFlightPackets' | |
| path: e2e/diagnostics | |
| retention-days: 5 |