From 52c3e9b7e03a5d488e4125380753d88283de3f0c Mon Sep 17 00:00:00 2001 From: chatton Date: Wed, 10 Jul 2024 16:16:45 +0100 Subject: [PATCH] chore: make compatibility tests work with test suites --- .../release-v8.3.x/transfer-chain-a.json | 14 +- .../release-v8.3.x/transfer-chain-b.json | 12 +- .../e2e-compatibility-workflow-call.yaml | 9 +- .github/workflows/e2e-compatibility.yaml | 450 +++++++++--------- e2e/go.mod | 2 +- 5 files changed, 236 insertions(+), 251 deletions(-) diff --git a/.github/compatibility-test-matrices/release-v8.3.x/transfer-chain-a.json b/.github/compatibility-test-matrices/release-v8.3.x/transfer-chain-a.json index 8c376ae4d8f..cb6ad7e74ec 100644 --- a/.github/compatibility-test-matrices/release-v8.3.x/transfer-chain-a.json +++ b/.github/compatibility-test-matrices/release-v8.3.x/transfer-chain-a.json @@ -8,24 +8,12 @@ "v7.6.0", "v7.5.0", "v7.4.0", - "v6.3.0", - "v5.4.0", - "v4.6.0", - "v3.4.0", - "v2.5.0", "release-v8.3.x" ], "entrypoint": [ "TestTransferTestSuite" ], - "test": [ - "TestMsgTransfer_Succeeds_Nonincentivized", - "TestMsgTransfer_Fails_InvalidAddress", - "TestMsgTransfer_Timeout_Nonincentivized", - "TestMsgTransfer_WithMemo", - "TestSendEnabledParam", - "TestReceiveEnabledParam" - ], + "test": [], "relayer-type": [ "hermes" ] diff --git a/.github/compatibility-test-matrices/release-v8.3.x/transfer-chain-b.json b/.github/compatibility-test-matrices/release-v8.3.x/transfer-chain-b.json index 7fff446aba6..26236086734 100644 --- a/.github/compatibility-test-matrices/release-v8.3.x/transfer-chain-b.json +++ b/.github/compatibility-test-matrices/release-v8.3.x/transfer-chain-b.json @@ -5,11 +5,6 @@ "v7.6.0", "v7.5.0", "v7.4.0", - "v6.3.0", - "v5.4.0", - "v4.6.0", - "v3.4.0", - "v2.5.0", "release-v8.3.x" ], "chain-b": [ @@ -18,12 +13,7 @@ "entrypoint": [ "TestTransferTestSuite" ], - "test": [ - "TestMsgTransfer_Succeeds_Nonincentivized", - "TestMsgTransfer_Fails_InvalidAddress", - "TestMsgTransfer_Timeout_Nonincentivized", - "TestMsgTransfer_WithMemo" - ], + "test": [], "relayer-type": [ "hermes" ] diff --git a/.github/workflows/e2e-compatibility-workflow-call.yaml b/.github/workflows/e2e-compatibility-workflow-call.yaml index 9554a7daac1..7f79d1ca8ff 100644 --- a/.github/workflows/e2e-compatibility-workflow-call.yaml +++ b/.github/workflows/e2e-compatibility-workflow-call.yaml @@ -48,7 +48,14 @@ jobs: - name: Run e2e Test run: | cd e2e - make e2e-test test=${{ matrix.test }} + # if specifying a single test, run as usual + if [ "${{ matrix.test }}" ]; then + make e2e-test test=${{ matrix.test }} + exit 0 + fi + + # otherwise we run the full suite + make e2e-suite entrypoint=${{ matrix.entrypoint }} env: # each test has its own set of variables to specify which images are used. # Note: this is significant as the standard behaviour when running e2es on PRs diff --git a/.github/workflows/e2e-compatibility.yaml b/.github/workflows/e2e-compatibility.yaml index 6f2a5a3a159..8d6ea1bac36 100644 --- a/.github/workflows/e2e-compatibility.yaml +++ b/.github/workflows/e2e-compatibility.yaml @@ -99,228 +99,228 @@ jobs: with: test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" test-suite: "transfer-chain-b" - - transfer-authz-chain-a: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "transfer-authz-chain-a" - - transfer-authz-chain-b: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "transfer-authz-chain-b" - - connection-chain-a: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "connection-chain-a" - - client-chain-a: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "client-chain-a" - - incentivized-transfer-chain-a: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "incentivized-transfer-chain-a" - - incentivized-transfer-chain-b: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "incentivized-transfer-chain-b" - - ica-chain-a: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "ica-chain-a" - - ica-chain-b: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "ica-chain-b" - - incentivized-ica-chain-a: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "incentivized-ica-chain-a" - - incentivized-ica-chain-b: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "incentivized-ica-chain-b" - - ica-groups-chain-a: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "ica-groups-chain-a" - - ica-groups-chain-b: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "ica-groups-chain-b" - - ica-gov-chain-a: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "ica-gov-chain-a" - - ica-gov-chain-b: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "ica-gov-chain-b" - - ica-queries-chain-a: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "ica-queries-chain-a" - - ica-queries-chain-b: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "ica-queries-chain-b" - - ica-unordered-channel-chain-a: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "ica-unordered-channel-chain-a" - - ica-unordered-channel-chain-b: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "ica-unordered-channel-chain-b" - - localhost-transfer-chain-a: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "localhost-transfer-chain-a" - - localhost-ica-chain-a: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "localhost-ica-chain-a" - - genesis-chain-a: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "genesis-chain-a" - - transfer-channel-upgrade-chain-a: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "transfer-channel-upgrade-chain-a" - - transfer-channel-upgrade-chain-b: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "transfer-channel-upgrade-chain-b" - - ica-channel-upgrade-chain-a: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "transfer-channel-upgrade-chain-a" - - ica-channel-upgrade-chain-b: - needs: - - build-release-images - - determine-test-directory - uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml - with: - test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" - test-suite: "transfer-channel-upgrade-chain-b" +# +# transfer-authz-chain-a: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "transfer-authz-chain-a" +# +# transfer-authz-chain-b: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "transfer-authz-chain-b" +# +# connection-chain-a: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "connection-chain-a" +# +# client-chain-a: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "client-chain-a" +# +# incentivized-transfer-chain-a: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "incentivized-transfer-chain-a" +# +# incentivized-transfer-chain-b: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "incentivized-transfer-chain-b" +# +# ica-chain-a: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "ica-chain-a" +# +# ica-chain-b: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "ica-chain-b" +# +# incentivized-ica-chain-a: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "incentivized-ica-chain-a" +# +# incentivized-ica-chain-b: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "incentivized-ica-chain-b" +# +# ica-groups-chain-a: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "ica-groups-chain-a" +# +# ica-groups-chain-b: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "ica-groups-chain-b" +# +# ica-gov-chain-a: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "ica-gov-chain-a" +# +# ica-gov-chain-b: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "ica-gov-chain-b" +# +# ica-queries-chain-a: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "ica-queries-chain-a" +# +# ica-queries-chain-b: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "ica-queries-chain-b" +# +# ica-unordered-channel-chain-a: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "ica-unordered-channel-chain-a" +# +# ica-unordered-channel-chain-b: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "ica-unordered-channel-chain-b" +# +# localhost-transfer-chain-a: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "localhost-transfer-chain-a" +# +# localhost-ica-chain-a: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "localhost-ica-chain-a" +# +# genesis-chain-a: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "genesis-chain-a" +# +# transfer-channel-upgrade-chain-a: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "transfer-channel-upgrade-chain-a" +# +# transfer-channel-upgrade-chain-b: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "transfer-channel-upgrade-chain-b" +# +# ica-channel-upgrade-chain-a: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "transfer-channel-upgrade-chain-a" +# +# ica-channel-upgrade-chain-b: +# needs: +# - build-release-images +# - determine-test-directory +# uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml +# with: +# test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" +# test-suite: "transfer-channel-upgrade-chain-b" diff --git a/e2e/go.mod b/e2e/go.mod index 58f3faebf9b..21e090178d7 100644 --- a/e2e/go.mod +++ b/e2e/go.mod @@ -20,6 +20,7 @@ require ( github.com/strangelove-ventures/interchaintest/v8 v8.2.1-0.20240419152858-c8b741617cd8 github.com/stretchr/testify v1.9.0 go.uber.org/zap v1.27.0 + golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 golang.org/x/mod v0.19.0 google.golang.org/grpc v1.65.0 gopkg.in/yaml.v2 v2.4.0 @@ -231,7 +232,6 @@ require ( go.opentelemetry.io/otel/trace v1.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.24.0 // indirect - golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 // indirect golang.org/x/net v0.26.0 // indirect golang.org/x/oauth2 v0.21.0 // indirect golang.org/x/sync v0.7.0 // indirect