diff --git a/.github/workflows/cron-main-e2e.yml b/.github/workflows/cron-main-e2e.yml index 93e28836..bfc0b5d0 100644 --- a/.github/workflows/cron-main-e2e.yml +++ b/.github/workflows/cron-main-e2e.yml @@ -7,7 +7,7 @@ on: jobs: build: runs-on: ubuntu-latest - timeout-minutes: 90 + timeout-minutes: 180 steps: - name: "Checkout" uses: actions/checkout@v7 diff --git a/.github/workflows/push-release-branch.yml b/.github/workflows/push-release-branch.yml index 095871b3..ba5653ff 100644 --- a/.github/workflows/push-release-branch.yml +++ b/.github/workflows/push-release-branch.yml @@ -13,7 +13,7 @@ jobs: build: runs-on: ubuntu-latest - timeout-minutes: 90 + timeout-minutes: 180 steps: - name: "Checkout" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e75d9e47..ae0b21bb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -40,7 +40,7 @@ concurrency: jobs: release: runs-on: ubuntu-latest - timeout-minutes: 90 + timeout-minutes: 180 steps: - name: "Checkout" uses: actions/checkout@v7 diff --git a/docs/e2e_tests.md b/docs/e2e_tests.md index b4d2ff2d..403ab481 100644 --- a/docs/e2e_tests.md +++ b/docs/e2e_tests.md @@ -37,10 +37,16 @@ one domain, and uses whichever collection makes the case observable. ## Running Tests ```bash -make e2e # run the E2E suite -make e2e args="tests/e2e/catalog" # run a subset of E2E tests +make e2e # run the E2E suite +make e2e path=tests/e2e/catalog # run a subset of E2E tests +make e2e args="-k test_create_variant" # pass extra pytest options ``` +The target always passes a test path (`tests/e2e` unless `path` is set), so `args` only +carries options. Passing options alone used to drop the path and fall back to `testpaths`, +which made CI run the unit suite again after the E2E tests. E2E runs also disable coverage +(`--no-cov`) so they do not overwrite the unit `coverage.xml` that SonarCloud reads. + E2E tests need live API credentials and run against the real API, so they have their own target: `make test` covers `tests/unit` only, and `make check-all` does not run them. diff --git a/docs/testing.md b/docs/testing.md index 42cf5222..ae669669 100644 --- a/docs/testing.md +++ b/docs/testing.md @@ -21,7 +21,8 @@ Run all test commands through Docker-based make targets: ```bash make test make test args="tests/unit/http" -make test args="tests/e2e" +make e2e +make e2e path=tests/e2e/catalog make check make check-all ``` diff --git a/make/repo.mk b/make/repo.mk index f34a2ea4..35b279bf 100644 --- a/make/repo.mk +++ b/make/repo.mk @@ -1,3 +1,3 @@ ## Add repo-specific targets here. Do not modify the shared *.mk files. e2e: ## Run e2e test - $(RUN) pytest -p no:randomly --junitxml=e2e-report.xml $(if $(args),$(args), tests/e2e) + $(RUN) pytest -p no:randomly --no-cov --junitxml=e2e-report.xml $(or $(path),tests/e2e) $(args)