Skip to content

Commit edd79b3

Browse files
committed
Merge branch 'ci/fixes'
2 parents 9924101 + 2c4d75c commit edd79b3

File tree

2 files changed

+39
-0
lines changed

2 files changed

+39
-0
lines changed

.gitlab/scripts/gen_hw_jobs.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -360,10 +360,23 @@ def main():
360360
available_runners = list_project_runners()
361361
if not available_runners:
362362
print("[WARN] Could not enumerate project runners or none found; using conservative mode for tagged groups.")
363+
else:
364+
print(f"\n=== Available Runners ({len(available_runners)}) ===")
365+
for runner in available_runners:
366+
runner_id = runner.get("id", "?")
367+
runner_desc = runner.get("description", "")
368+
runner_tags = runner.get("tag_list", [])
369+
runner_active = runner.get("active", False)
370+
runner_paused = runner.get("paused", False)
371+
status = "ACTIVE" if (runner_active and not runner_paused) else "INACTIVE/PAUSED"
372+
print(f" Runner #{runner_id} ({status}): {runner_desc}")
373+
print(f" Tags: {', '.join(runner_tags) if runner_tags else '(none)'}")
374+
print("=" * 60 + "\n")
363375

364376
# Accumulate all missing-runner groups to emit a single stub job
365377
missing_groups: list[dict] = []
366378

379+
print(f"\n=== Test Group Scheduling ===")
367380
for (chip, tagset, test_type), test_dirs in group_map.items():
368381
tag_list = sorted(tagset)
369382
# Build name suffix excluding the SOC itself to avoid duplication
@@ -374,6 +387,13 @@ def main():
374387
can_schedule = True
375388
if available_runners:
376389
can_schedule = any_runner_matches(tag_list, available_runners)
390+
print(f" Group: {chip}-{test_type}-{tag_suffix}")
391+
print(f" Required tags: {', '.join(tag_list)}")
392+
print(f" Tests: {len(test_dirs)}")
393+
if can_schedule:
394+
print(f" ✓ Runner found")
395+
else:
396+
print(f" ✗ NO RUNNER FOUND - will create error report stub")
377397
else:
378398
# Conservative mode when we cannot list runners: treat groups that require extra
379399
# tags beyond the SOC or 'generic' as missing-runner to avoid running on generic.
@@ -382,6 +402,10 @@ def main():
382402
extra = [t for t in tag_list if t not in (chip, "generic")]
383403
if extra:
384404
can_schedule = False
405+
print(f" Group: {chip}-{test_type}-{tag_suffix}")
406+
print(f" Required tags: {', '.join(tag_list)}")
407+
print(f" Tests: {len(test_dirs)}")
408+
print(f" ? Conservative mode: {'can schedule' if can_schedule else 'treating as missing'}")
385409

386410
if can_schedule:
387411
job_name = f"hw-{chip}-{test_type}-{tag_suffix}"[:255]
@@ -410,6 +434,20 @@ def main():
410434
}
411435
)
412436

437+
# Print summary
438+
scheduled_count = len([e for e in jobs_entries if e[1] != "hw-missing-runners"])
439+
print(f"\n=== Summary ===")
440+
print(f" Scheduled groups: {scheduled_count}")
441+
print(f" Missing runner groups: {len(missing_groups)}")
442+
if missing_groups:
443+
print(f"\n Missing runner details:")
444+
for mg in missing_groups:
445+
chip = mg.get("chip")
446+
test_type = mg.get("test_type")
447+
tags = mg.get("required_tags", [])
448+
test_count = len(mg.get("test_dirs", []))
449+
print(f" - {chip}-{test_type}: requires tags {tags}, {test_count} tests")
450+
413451
# If any groups are missing runners, create one combined stub job to emit all JUnit errors
414452
if missing_groups:
415453
job_name = "hw-missing-runners"

tests/validation/psram/ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ soc_tags:
77
- octal_psram
88
esp32c5:
99
- psram
10+
# Runners for ESP32-P4 have PSRAM by default. There are no runners with psram tag.
1011

1112
platforms:
1213
qemu: false

0 commit comments

Comments
 (0)