diff --git a/.github/workflows/integration-tests.yaml b/.github/workflows/integration-tests.yaml index f9899954..1311d436 100644 --- a/.github/workflows/integration-tests.yaml +++ b/.github/workflows/integration-tests.yaml @@ -4,6 +4,12 @@ name: Integration tests # yamllint disable-line rule:truthy on: workflow_call: + inputs: + e2e_target: + description: 'Make target for E2E tests' + required: false + default: 'test-e2e-integration' + type: string env: KUBE_SSH_NODES: kind @@ -144,7 +150,7 @@ jobs: - name: Run E2E Tests working-directory: ${{ env.GOPATH }}/src/github.com/akash-network/provider run: | - make test-e2e-integration + make ${{ inputs.e2e_target }} - name: Print operator inventory logs if: always() working-directory: ${{ env.GOPATH }}/src/github.com/akash-network/provider/_run/kube diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 2bdc993a..29fdff86 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -104,8 +104,15 @@ jobs: uses: ./.github/actions/setup-ubuntu - run: make shellcheck - integration-tests: + integration-tests-batch1: uses: ./.github/workflows/integration-tests.yaml + with: + e2e_target: test-e2e-integration-batch1 + + integration-tests-batch2: + uses: ./.github/workflows/integration-tests.yaml + with: + e2e_target: test-e2e-integration-batch2 dispatch-release: runs-on: ubuntu-latest @@ -118,7 +125,8 @@ jobs: - coverage - yamlcheck - shellcheck - - integration-tests + - integration-tests-batch1 + - integration-tests-batch2 steps: - uses: actions/checkout@v4 with: diff --git a/integration/e2e_test.go b/integration/e2e_test.go index a3ef7b5b..36ed3290 100644 --- a/integration/e2e_test.go +++ b/integration/e2e_test.go @@ -761,6 +761,27 @@ func TestIntegrationTestSuite(t *testing.T) { suite.Run(t, &E2EIPAddress{IntegrationTestSuite{ipMarketplace: true}}) } +func TestIntegrationBatch1(t *testing.T) { + integrationTestOnly(t) + + suite.Run(t, new(E2EContainerToContainer)) + suite.Run(t, new(E2EAppNodePort)) + suite.Run(t, new(E2EDeploymentUpdate)) + suite.Run(t, new(E2EApp)) + suite.Run(t, new(E2EMigrateHostname)) +} + +func TestIntegrationBatch2(t *testing.T) { + integrationTestOnly(t) + + suite.Run(t, new(E2EPersistentStorageDefault)) + suite.Run(t, new(E2EPersistentStorageBeta2)) + suite.Run(t, new(E2EPersistentStorageDeploymentUpdate)) + suite.Run(t, new(E2EStorageClassRam)) + suite.Run(t, new(E2ECustomCurrency)) + suite.Run(t, &E2EIPAddress{IntegrationTestSuite{ipMarketplace: true}}) +} + // TestQueryApp enables rapid testing of the querying functionality locally // Not for CI tests. func TestQueryApp(t *testing.T) { diff --git a/make/test-integration.mk b/make/test-integration.mk index 7913f2f2..dbde42ab 100644 --- a/make/test-integration.mk +++ b/make/test-integration.mk @@ -27,6 +27,14 @@ test-e2e-integration: # ``` $(KIND_VARS) $(INTEGRATION_VARS) $(GO_TEST) -count=1 -p 4 -tags "e2e" -v ./integration/... -run TestIntegrationTestSuite -timeout 3000s +.PHONY: test-e2e-integration-batch1 +test-e2e-integration-batch1: + $(KIND_VARS) $(INTEGRATION_VARS) $(GO_TEST) -count=1 -tags "e2e" -v ./integration/... -run TestIntegrationBatch1 -timeout 1500s + +.PHONY: test-e2e-integration-batch2 +test-e2e-integration-batch2: + $(KIND_VARS) $(INTEGRATION_VARS) $(GO_TEST) -count=1 -tags "e2e" -v ./integration/... -run TestIntegrationBatch2 -timeout 1500s + .PHONY: test-e2e-integration-k8s test-e2e-integration-k8s: $(INTEGRATION_VARS) \