-
Notifications
You must be signed in to change notification settings - Fork 631
Expand file tree
/
Copy pathtox.ini
More file actions
76 lines (68 loc) · 2.53 KB
/
Copy pathtox.ini
File metadata and controls
76 lines (68 loc) · 2.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
[tox]
# Tier-shaped envs. Each env delegates to the rig at tests/rig/cli.py, which
# reads tests/groups.yaml and dispatches per-group pytest invocations.
#
# tox -e unit # all unit groups
# tox -e integration # cross-service groups (needs infra)
# tox -e e2e # full platform e2e
# tox -e groups -- unit-backend e2e-smoke
# tox -e groups -- --from-file .test-selection --no-coverage
# tox -e groups -- all # everything (equivalent to unit,integration,e2e)
#
# Pre-existing service envs (runner, sdk1) remain as thin
# aliases so existing CI commands continue to work during the migration.
env_list = unit, integration, e2e
requires = tox-uv>=0.2.0
isolated_build = True
[testenv]
# Shared base: install the rig itself + its python deps. Each tier env reuses
# this base so the rig CLI is importable everywhere.
install_command = uv pip install {opts} {packages}
skip_install = true
deps =
uv
pyyaml>=6.0
requests>=2.31.0
testcontainers[postgres,redis,minio,rabbitmq]>=4.7.0
pytest>=8.0.1
pytest-xdist>=3.5.0
pytest-cov>=4.1.0
pytest-md-report>=0.6.2
pytest-timeout>=2.3.1
coverage[toml]>=7.4.0
allowlist_externals =
uv
sh
pytest
docker
hurl
passenv =
CI
GITHUB_*
DOCKER_HOST
UNSTRACT_*
# ComposeRuntime's `docker compose up` resolves ${VERSION} image tags in
# docker/docker-compose.yaml from the caller's environment.
VERSION
changedir = {toxinidir}
[testenv:unit]
commands = python -m tests.rig run --tier unit {posargs}
[testenv:integration]
commands = python -m tests.rig run --tier integration {posargs}
[testenv:e2e]
commands = python -m tests.rig run --tier e2e {posargs}
[testenv:groups]
# Catch-all: pass whatever you want to the rig.
# tox -e groups -- unit-backend e2e-smoke
# tox -e groups -- --from-file .test-selection --no-coverage
commands = python -m tests.rig run {posargs}
[testenv:rig]
# Utility env: list-groups, expand, validate, etc.
# tox -e rig -- list-groups
# tox -e rig -- expand e2e-workflow
commands = python -m tests.rig {posargs:list-groups}
# ── Legacy aliases ─────────────────────────────────────────────────────────────
# These mirror the pre-rig envs so existing scripts / CI snippets keep working
# during the migration. They delegate to the corresponding rig group.
[testenv:sdk1]
commands = python -m tests.rig run unit-sdk1 {posargs}