ci(GH-992): retain sanitized full smoke diagnostics #28

Merged
KofTwentyTwo merged 2 commits from feature/GH-992-smoke-diagnostics into develop 2026-10-02 02:29:34 +00:00
KofTwentyTwo commented 2026-10-02 01:57:53 +00:00 (Migrated from github.com)

Full Compose smoke currently discards startup output and removes its private stack before preserving service evidence. The develop run at 9a56ec6 failed after the same source tree passed its PR checks, leaving the failing service and runtime inputs unknown.

This change retains sanitized startup output, selected service health/exit/OOM state, image identities, bounded logs and hashes of resolved first-party JARs before private cleanup. The existing Smoke workflow always uploads those JSON receipts. Existing smoke timeouts, assertions, version pins and release gates remain unchanged.

Validation: 43 Python tests passed, including six new failure/redaction tests; actionlint and fresh-cache Maven packaging passed. One local Linux/aarch64 full smoke passed and retained diagnostics. A missing-health Docker template case exposed by completed init containers was corrected and separately verified on an unstarted isolated fixture. Independent main review passed the exact four-file patch and hashes.

The earlier hosted failure remains unexplained. This PR's exact hosted core/full run and retained artifacts must be reviewed before merge; local success is not hosted acceptance. No release/publication is part of this PR.

Refs QRun-IO/qqq#992, under QRun-IO/qqq#921. Neither central issue is closed by this preparation change.

First hosted instrumented result

Smoke36953402698: core passed; full failed before any container was created with toomanyrequests: Rate exceeded during image pulls. Sanitized artifact11204334292 uploaded successfully. All23first-party dependency hashes match the passing local run. Circle36 passed. Actual PR checkout tree matches the reviewed source exactly.

The error does not identify the rejected registry/image. No retry, speculative fix or merge was performed. The original9a56 failure remains unexplained; this new failure establishes a registry-pull boundary only. Full CI is still required before merge.

Reviewed named pull diagnostics

Signed cedc3023c8eb6fa59d213a25dd9291c72e97b119 adds an explicit sequential pull stage using the same external images. It records each service/image/registry and sanitized result, stopping before startup on any pull failure. Buildable services are excluded; no mirrors, credentials, retries or smoke timeout/assertion changes. Independent main review passed exact delta91bdd247 and all four hashes;45Python tests and Compose2.38.2/5.5.1 dry-run option/selection checks passed.

The new automatic Smoke36955299663 is the controlled instrumented attempt. No provider attribution is claimed until its named pull evidence is inspected.

Full Compose smoke currently discards startup output and removes its private stack before preserving service evidence. The develop run at `9a56ec6` failed after the same source tree passed its PR checks, leaving the failing service and runtime inputs unknown. This change retains sanitized startup output, selected service health/exit/OOM state, image identities, bounded logs and hashes of resolved first-party JARs before private cleanup. The existing Smoke workflow always uploads those JSON receipts. Existing smoke timeouts, assertions, version pins and release gates remain unchanged. Validation: 43 Python tests passed, including six new failure/redaction tests; actionlint and fresh-cache Maven packaging passed. One local Linux/aarch64 full smoke passed and retained diagnostics. A missing-health Docker template case exposed by completed init containers was corrected and separately verified on an unstarted isolated fixture. Independent main review passed the exact four-file patch and hashes. The earlier hosted failure remains unexplained. This PR's exact hosted core/full run and retained artifacts must be reviewed before merge; local success is not hosted acceptance. No release/publication is part of this PR. Refs QRun-IO/qqq#992, under QRun-IO/qqq#921. Neither central issue is closed by this preparation change. ## First hosted instrumented result [Smoke36953402698](https://github.com/QRun-IO/qqq-all/actions/runs/36953402698): core passed; full failed before any container was created with `toomanyrequests: Rate exceeded` during image pulls. [Sanitized artifact11204334292](https://github.com/QRun-IO/qqq-all/actions/runs/36953402698/artifacts/11204334292) uploaded successfully. All23first-party dependency hashes match the passing local run. Circle36 passed. Actual PR checkout tree matches the reviewed source exactly. The error does not identify the rejected registry/image. No retry, speculative fix or merge was performed. The original9a56 failure remains unexplained; this new failure establishes a registry-pull boundary only. Full CI is still required before merge. ## Reviewed named pull diagnostics Signed `cedc3023c8eb6fa59d213a25dd9291c72e97b119` adds an explicit sequential pull stage using the same external images. It records each service/image/registry and sanitized result, stopping before startup on any pull failure. Buildable services are excluded; no mirrors, credentials, retries or smoke timeout/assertion changes. Independent main review passed exact delta91bdd247 and all four hashes;45Python tests and Compose2.38.2/5.5.1 dry-run option/selection checks passed. The new automatic [Smoke36955299663](https://github.com/QRun-IO/qqq-all/actions/runs/36955299663) is the controlled instrumented attempt. No provider attribution is claimed until its named pull evidence is inspected.
Sign in to join this conversation.