diff --git a/.github/actions/build-test-push/test.sh b/.github/actions/build-test-push/test.sh index ee5eb197..cc44776b 100755 --- a/.github/actions/build-test-push/test.sh +++ b/.github/actions/build-test-push/test.sh @@ -72,7 +72,7 @@ run_cmd() { fi } -cmd="make test-integration DOCKER_REPOSITORY=$repository GOTENBERG_VERSION=$version PLATFORM=$platform" +cmd="make test-integration DOCKER_REPOSITORY=$repository GOTENBERG_VERSION=$version PLATFORM=$platform NO_CONCURRENCY=true" run_cmd "$cmd" echo "✅ Done!" diff --git a/Makefile b/Makefile index e997b419..948141fd 100644 --- a/Makefile +++ b/Makefile @@ -160,13 +160,15 @@ test-unit: ## Run unit tests go test -race ./... PLATFORM= +NO_CONCURRENCY=false .PHONY: test-integration test-integration: ## Run integration tests go test -tags=integration -v github.com/gotenberg/gotenberg/v8/test/integration -args \ --gotenberg-docker-repository=$(DOCKER_REPOSITORY) \ --gotenberg-version=$(GOTENBERG_VERSION) \ - --gotenberg-container-platform=$(PLATFORM) + --gotenberg-container-platform=$(PLATFORM) \ + --no-concurrency=$(NO_CONCURRENCY) .PHONY: lint lint: ## Lint Golang codebase diff --git a/test/integration/main_test.go b/test/integration/main_test.go index f7743281..6e4036c0 100644 --- a/test/integration/main_test.go +++ b/test/integration/main_test.go @@ -14,17 +14,11 @@ import ( "github.com/gotenberg/gotenberg/v8/test/integration/scenario" ) -var opts = godog.Options{ - Format: "pretty", - Paths: []string{"features"}, - Output: colors.Colored(os.Stdout), - Concurrency: runtime.NumCPU(), -} - func TestMain(m *testing.M) { repository := flag.String("gotenberg-docker-repository", "", "") version := flag.String("gotenberg-version", "", "") platform := flag.String("gotenberg-container-platform", "", "") + noConcurrency := flag.Bool("no-concurrency", false, "") flag.Parse() if *platform == "" { @@ -40,10 +34,20 @@ func TestMain(m *testing.M) { scenario.GotenbergVersion = *version scenario.GotenbergContainerPlatform = *platform + concurrency := runtime.NumCPU() + if *noConcurrency { + concurrency = 0 + } + code := godog.TestSuite{ Name: "integration", ScenarioInitializer: scenario.InitializeScenario, - Options: &opts, + Options: &godog.Options{ + Format: "pretty", + Paths: []string{"features"}, + Output: colors.Colored(os.Stdout), + Concurrency: concurrency, + }, }.Run() os.Exit(code)