fix(cd): make controlled runtime migration test path stable
All checks were successful
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 17s
CD Pipeline / build-and-deploy (push) Successful in 4m53s
CD Pipeline / post-deploy-checks (push) Successful in 1m7s
All checks were successful
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 17s
CD Pipeline / build-and-deploy (push) Successful in 4m53s
CD Pipeline / post-deploy-checks (push) Successful in 1m7s
This commit is contained in:
@@ -1673,11 +1673,12 @@ def test_ansible_post_apply_km_writeback_is_idempotent_for_learning_backfill() -
|
|||||||
|
|
||||||
|
|
||||||
def test_ansible_learning_writeback_operation_type_has_schema_migration() -> None:
|
def test_ansible_learning_writeback_operation_type_has_schema_migration() -> None:
|
||||||
|
migrations_dir = Path(__file__).resolve().parents[1] / "migrations"
|
||||||
migration = Path(
|
migration = Path(
|
||||||
"apps/api/migrations/adr090e_ansible_learning_writeback_operation_type.sql"
|
migrations_dir / "adr090e_ansible_learning_writeback_operation_type.sql"
|
||||||
).read_text()
|
).read_text()
|
||||||
down = Path(
|
down = Path(
|
||||||
"apps/api/migrations/adr090e_ansible_learning_writeback_operation_type_down.sql"
|
migrations_dir / "adr090e_ansible_learning_writeback_operation_type_down.sql"
|
||||||
).read_text()
|
).read_text()
|
||||||
|
|
||||||
assert "ansible_learning_writeback_recorded" in migration
|
assert "ansible_learning_writeback_recorded" in migration
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
|
import re
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
|
||||||
@@ -185,3 +186,24 @@ def test_controlled_runtime_skips_b5_before_docker_socket_use() -> None:
|
|||||||
)
|
)
|
||||||
exit_zero = text.index("exit 0", controlled_gate)
|
exit_zero = text.index("exit 0", controlled_gate)
|
||||||
assert controlled_gate < exit_zero < docker_socket
|
assert controlled_gate < exit_zero < docker_socket
|
||||||
|
|
||||||
|
|
||||||
|
def test_controlled_runtime_pytest_paths_exist() -> None:
|
||||||
|
text = _workflow_text()
|
||||||
|
block = text.split("PYTHONFAULTHANDLER=1 python3.11 -m pytest", 1)[1]
|
||||||
|
block = block.split("-v --tb=short", 1)[0]
|
||||||
|
path_tokens = sorted(set(re.findall(
|
||||||
|
r"((?:\.\./\.\./)?(?:tests|ops|scripts)/[A-Za-z0-9_./-]+\.py)",
|
||||||
|
block,
|
||||||
|
)))
|
||||||
|
|
||||||
|
missing: list[str] = []
|
||||||
|
for token in path_tokens:
|
||||||
|
if token.startswith("tests/"):
|
||||||
|
path = ROOT / "apps/api" / token
|
||||||
|
else:
|
||||||
|
path = ROOT / token.removeprefix("../../")
|
||||||
|
if not path.exists():
|
||||||
|
missing.append(token)
|
||||||
|
|
||||||
|
assert missing == []
|
||||||
|
|||||||
Reference in New Issue
Block a user