fix(ci): skip non-ci reproducible wbs tasks
This commit is contained in:
@@ -2,7 +2,6 @@ from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import json
|
||||
import re
|
||||
from pathlib import Path
|
||||
|
||||
import yaml
|
||||
@@ -60,21 +59,12 @@ def main() -> int:
|
||||
done_tasks.append(task_id)
|
||||
done_tasks.sort()
|
||||
|
||||
match = re.search(
|
||||
r"for task in (?P<tasks>.+?); do\s+python3 tools/verify_wbs_task_v1\.py --task \"?\$?task\"?\s+done",
|
||||
ci_text,
|
||||
re.S,
|
||||
)
|
||||
if not match:
|
||||
errors.append("workflow missing Generate DONE WBS Verdicts task list")
|
||||
else:
|
||||
declared = re.findall(r"QE-[A-Z0-9-]+", match.group("tasks"))
|
||||
missing = [task for task in done_tasks if task not in declared]
|
||||
extra = [task for task in declared if task not in done_tasks]
|
||||
if missing:
|
||||
errors.append("workflow omits DONE verdict tasks: " + ", ".join(missing))
|
||||
if extra:
|
||||
errors.append("workflow includes non-DONE verdict tasks: " + ", ".join(extra))
|
||||
if 'root / "spec" / "60_quant_engine_wbs.yaml"' not in ci_text:
|
||||
errors.append("workflow does not derive DONE verdict tasks from spec/60_quant_engine_wbs.yaml")
|
||||
if 'mode in {"not_ci_reproducible", "manual_user_action"}' not in ci_text:
|
||||
errors.append("workflow does not skip not_ci_reproducible/manual_user_action tasks")
|
||||
if "python3 - <<'PY'" not in ci_text:
|
||||
errors.append("workflow still hardcodes DONE verdict task list")
|
||||
|
||||
result = {
|
||||
"formula_id": "GITEA_CI_WORKFLOW_LINT_V1",
|
||||
|
||||
Reference in New Issue
Block a user