From c06858fc8eeaa52d4f65404541dd95f00d79a577 Mon Sep 17 00:00:00 2001 From: Nicko Guyer Date: Wed, 28 Feb 2024 14:23:39 -0500 Subject: [PATCH] Update E2E matrix Signed-off-by: Nicko Guyer --- .github/workflows/e2e.yml | 168 ++++++++++++++++++++++++-------------- 1 file changed, 107 insertions(+), 61 deletions(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index cb373bb8..09aa04ac 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -7,64 +7,110 @@ permissions: contents: write jobs: - e2e-test: - runs-on: ubuntu-latest - strategy: - matrix: - test-suite: [TestEthereumE2ESuite, TestFabricE2ESuite] - blockchain-provider: [geth, fabric, besu] - token-provider: [none, erc1155, erc20_erc721] - database-type: [sqlite3, postgres] - exclude: - - blockchain-provider: geth - test-suite: TestFabricE2ESuite - - blockchain-provider: besu - test-suite: TestFabricE2ESuite - - blockchain-provider: fabric - test-suite: TestEthereumE2ESuite - - blockchain-provider: fabric - token-provider: erc1155 - - blockchain-provider: fabric - token-provider: erc20_erc721 - - blockchain-provider: geth - token-provider: none - - blockchain-provider: besu - token-provider: none - fail-fast: false - steps: - - name: Checkout FireFly CLI - uses: actions/checkout@v4 - with: - path: firefly-cli - fetch-depth: 0 - - name: Checkout FireFly Core repo - uses: actions/checkout@v4 - with: - repository: hyperledger/firefly - path: firefly - - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version: "1.21" - - - name: Compile FireFly CLI - working-directory: firefly-cli - run: make install - - - name: Run E2E tests - working-directory: firefly - env: - TEST_SUITE: ${{ matrix.test-suite }} - BLOCKCHAIN_PROVIDER: ${{ matrix.blockchain-provider }} - TOKENS_PROVIDER: ${{ matrix.token-provider }} - DATABASE_TYPE: ${{ matrix.database-type }} - DOWNLOAD_CLI: false - run: ./test/e2e/run.sh - - - name: Archive container logs - uses: actions/upload-artifact@v4 - if: always() - with: - name: container-logs-${{ matrix.test-suite }}-${{ matrix.blockchain-provider }}-${{ matrix.database-type }}-${{ matrix.token-provider }} - path: containerlogs/logs.txt + runs-on: ubuntu-latest + needs: docker + strategy: + fail-fast: false + matrix: + stack-type: [ethereum, fabric] + exclude: [stack-type: ethereum, stack-type: fabric] + include: + - stack-type: ethereum + blockchain-connector: evmconnect + test-suite: TestEthereumMultipartyE2ESuite + database-type: sqlite3 + token-provider: erc20_erc721 + multiparty-enabled: true + + - stack-type: ethereum + blockchain-connector: evmconnect + test-suite: TestEthereumMultipartyE2ESuite + database-type: postgres + token-provider: erc20_erc721 + multiparty-enabled: true + + - stack-type: ethereum + blockchain-connector: evmconnect + test-suite: TestEthereumMultipartyE2ESuite + database-type: sqlite3 + token-provider: erc1155 + multiparty-enabled: true + + - stack-type: ethereum + blockchain-connector: evmconnect + test-suite: TestEthereumMultipartyTokensRemoteNameE2ESuite + database-type: postgres + token-provider: erc20_erc721 + multiparty-enabled: true + + - stack-type: fabric + test-suite: TestFabricE2ESuite + database-type: sqlite3 + token-provider: none + multiparty-enabled: true + + - stack-type: ethereum + blockchain-connector: evmconnect + test-suite: TestEthereumGatewayE2ESuite + database-type: sqlite3 + token-provider: erc20_erc721 + multiparty-enabled: false + + - stack-type: fabric + test-suite: TestFabricGatewayE2ESuite + database-type: sqlite3 + token-provider: none + multiparty-enabled: false + + - stack-type: ethereum + blockchain-connector: ethconnect + test-suite: TestEthereumMultipartyE2ESuite + database-type: sqlite3 + token-provider: erc20_erc721 + multiparty-enabled: true + + - stack-type: ethereum + blockchain-connector: ethconnect + test-suite: TestEthereumGatewayLegacyEthE2ESuite + database-type: sqlite3 + token-provider: erc1155 + multiparty-enabled: false + + steps: + - name: Checkout FireFly CLI + uses: actions/checkout@v4 + with: + path: firefly-cli + fetch-depth: 0 + - name: Checkout FireFly Core repo + uses: actions/checkout@v4 + with: + repository: hyperledger/firefly + path: firefly + + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: "1.21" + + - name: Compile FireFly CLI + working-directory: firefly-cli + run: make install + + - name: Run E2E tests + working-directory: firefly + env: + TEST_SUITE: ${{ matrix.test-suite }} + STACK_TYPE: ${{ matrix.stack-type }} + BLOCKCHAIN_CONNECTOR: ${{ matrix.blockchain-connector }} + TOKENS_PROVIDER: ${{ matrix.token-provider }} + DATABASE_TYPE: ${{ matrix.database-type }} + MULTIPARTY_ENABLED: ${{ matrix.multiparty-enabled }} + run: ./test/e2e/run.sh + + - name: Archive container logs + uses: actions/upload-artifact@v4 + if: always() + with: + name: container-logs-${{ matrix.test-suite }}-${{ matrix.blockchain-provider }}-${{ matrix.blockchain-connector }}-${{ matrix.database-type }}-${{ matrix.token-provider }} + path: containerlogs/logs.txt