---
# Defaults for the Playwright end-to-end sidecar.
#
# Param test_e2e_playwright_run_timeout: hard cap per role in seconds; Ansible
# kills the sidecar when it is exceeded. Sized for addon-heavy roles that run
# many per-addon specs, e.g. nextcloud (~50 addons). A role whose specs
# legitimately outlast it raises its own cap with `playwright.timeout` in
# `meta/tests.yml`, the way `cli.timeout` raises the CLI harness cap.
# Param test_e2e_playwright_test_timeout: per-test timeout in ms
# (config.timeout); caps a single spec.
# Param test_e2e_playwright_workers: parallel Playwright workers. Spec FILES run
# concurrently; tests within a file stay serial while
# TEST_E2E_PLAYWRIGHT_FULLY_PARALLEL is false. Computed conservatively from
# host CPU/RAM, capped for the app-under-test's concurrency limits, reduced
# on CI.
# Param TEST_E2E_PLAYWRIGHT_GLOBAL_TIMEOUT_BUFFER: seconds subtracted from
# run_timeout to form globalTimeout, leaving room for Ansible to collect
# artifacts before it kills the sidecar.
# Param test_e2e_playwright_only_roles: roles whose specs run. `.running` is the
# whitelist when a targeted deploy sets one and the inventory groups
# otherwise. `.groups` would run every spec in the round even when `apps=`
# deployed three roles, so specs for untouched roles fail on stale state and
# mask the result of the deploy that actually ran.
# Param test_e2e_playwright_skip_roles: roles excluded from the run.
# Param test_e2e_playwright_keep: keep the sidecar and cluster after the run.
# Param PLAYWRIGHT_MAPACHE_PASSWORD: password the provisioning spec sets on the
# mapache persona and every consumer spec logs in with. The inventory owns it
# rather than `secrets.credentials`, because a generated credential rotates
# between the matrix's two passes and pass 2 would then face the password
# pass 1 stored.
# Param VARIANT_INDEX: 0-based matrix-deploy round id, pushed as an extra var by
# `cli/administration/deploy/development/deploy.py` when the matrix
# orchestrator runs. Defaults to 0 for dev / non-matrix invocations so
# per-(variant, pass) artifact archiving still produces a valid
# `variant-0/<sync|async>/` slot.
test_e2e_playwright_run_timeout: 3600
test_e2e_playwright_test_timeout: 300000
# Front-proxy readiness probe (test-e2e-playwright/tasks/03_run_pass.yml); role-overridable via each app's vars/main.yml.
test_e2e_playwright_wait_retries: 30
test_e2e_playwright_wait_delay: 5
test_e2e_playwright_workers: "{{ lookup('playwright_workers') }}"
TEST_E2E_PLAYWRIGHT_GLOBAL_TIMEOUT_BUFFER: 60
TEST_E2E_PLAYWRIGHT_GLOBAL_TIMEOUT_MS: "{{ (((TEST_E2E_PLAYWRIGHT_RUN_TIMEOUT_EFFECTIVE | int) - (TEST_E2E_PLAYWRIGHT_GLOBAL_TIMEOUT_BUFFER | int)) * 1000) | string
}}"
test_e2e_playwright_only_roles: "{{ lookup('deployment').running }}"
test_e2e_playwright_skip_roles: []
test_e2e_playwright_keep: false
PLAYWRIGHT_MAPACHE_PASSWORD: ""
VARIANT_INDEX: 0