Make discover count machine-readable for CI parsing

The workflow's grep-on-free-text approach was fragile: local run correctly
extracted 162, but in the CI run the 'Open issue' step was skipped, meaning
new_count ended up as 0 after parsing. Likely causes: stdout buffering,
color codes, or shell differences between local and the Gitea runner's
shell.

Fix: tools/refresh_sku_catalog.py --discover now emits a deterministic
last-line marker `DISCOVER_MISSING_COUNT=<n>`. The workflow parses that
with sed (anchored, unambiguous) instead of the human-facing summary
line. Also added a diagnostic echo so the parsed value shows up in CI
logs for future debugging.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
root
2026-04-24 12:43:06 -03:00
parent 30394ece48
commit 9b4d04cf34
2 changed files with 5 additions and 2 deletions

View File

@@ -385,6 +385,8 @@ def discover_catalog(verbose=False):
missing = discover_missing_skus(api_map, sku_map, verbose=verbose)
print_missing_skus(missing, limit=None if verbose else 40)
# Machine-readable summary for CI/automation — always last line on stdout.
print("\nDISCOVER_MISSING_COUNT={}".format(len(missing)))
return 0