M5: upgrade + backup/restore stages green (custom-html); backup-bot-two oneshot
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
3-stage run green (install/upgrade/backup), clean teardown. backupbot deployed via reconcile oneshot; PTY (script) for abra backup/restore; -m for secret generate (no value leak). M5 CLAIMED. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@ -56,24 +56,27 @@ def main() -> int:
|
||||
fetch_recipe(recipe, ref, src)
|
||||
|
||||
test_dir = os.path.join(ROOT, "tests", recipe)
|
||||
targets = []
|
||||
overall = 0
|
||||
ran = 0
|
||||
for stage in stages:
|
||||
fname = STAGE_FILES.get(stage)
|
||||
if not fname:
|
||||
print(f"unknown stage {stage}", file=sys.stderr)
|
||||
return 2
|
||||
path = os.path.join(test_dir, fname)
|
||||
if os.path.exists(path):
|
||||
targets.append(path)
|
||||
else:
|
||||
if not os.path.exists(path):
|
||||
print(f" (skip {stage}: {path} not present)")
|
||||
# also discover recipe-local tests later (D4); install stage first (M4)
|
||||
if not targets:
|
||||
continue
|
||||
print(f"\n===== STAGE: {stage} =====", flush=True)
|
||||
# each stage is its own pytest invocation => its own reported result (D2 separate stages)
|
||||
rc = subprocess.call([sys.executable, "-m", "pytest", "-v", "-rA", path], cwd=ROOT)
|
||||
ran += 1
|
||||
if rc != 0:
|
||||
overall = rc
|
||||
if ran == 0:
|
||||
print("no stage test files found", file=sys.stderr)
|
||||
return 1
|
||||
|
||||
rc = subprocess.call([sys.executable, "-m", "pytest", "-v", "-rA", *targets], cwd=ROOT)
|
||||
return rc
|
||||
return overall
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user