Skip to content

fix: harden the smoke image check and the context-fault tests against CI flakes - #118

Merged
snovak7 merged 4 commits into
mainfrom
fix/epm-t139-gh117-smoke-image-check-sigpipe
Oct 19, 2026
Merged

snovak7 merged 4 commits into
mainfrom
fix/epm-t139-gh117-smoke-image-check-sigpipe

Conversation

@snovak7

@snovak7 snovak7 commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Zoho: EPM-T139 · Closes #117

Problem

PR #116's Images gate failed in Fleet smoke with image localhost/coldframe/keycloak:0.1.0-smoke.1 is not in the containerd … after the import, right after ctr images import had succeeded. The check is ctr images ls --quiet | grep --quiet … under set -o pipefail: grep --quiet exits on its first match, ctr can die of SIGPIPE (141), and pipefail turns the match into a failure.

Reproduced the mechanism locally:

$ bash -c 'set -o pipefail; seq 1 200000 | grep --quiet --line-regexp 1; echo $?'
141

Also: UncalibratedAlertGrainTests context counts

The same #116 run failed .NET on AContextThatDidNotReachTheSensorsIsSentAgainWithTheNextWake (expected 4 failed contexts, actual 44). SensorFaults failed and counted every SetContext on the TestCluster, and earlier tests' Devices send their unconfirmed contexts again when activated. Faults and counts are now per Sensor; each test names its Node's four Sensors. Locally the class passed 26/26 three times.

Change

  • deploy/fleet/smoke.sh, deploy/charts/smoke.sh: the image check pipes into grep … >/dev/null, so grep drains ctr's output.
  • deploy/charts/smoke.sh: the same for the two kubectl logs … | grep -q checks.
  • IdentityCluster.SensorFaults: FailContexts(sensors)/RestoreContexts() and per-Sensor FailedContexts(sensors)/PassedContexts(sensors) replace the cluster-wide FailNextContexts and counters.
  • .gitleaks.toml: the Epic 10 allowlist also names 41bb258, the bmad-loop commit recording story 10-1, which carries the same prose and will be pushed with story 10-2's branch. main merged in for feat(release): one version with firmware binaries, checksums and grouped notes #116's allowlist.

🤖 Generated with Claude Code

https://claude.ai/code/session_01SvQMHbyoPLZfFs74vnQNdD

The smoke scripts check each imported image with
"ctr images ls | grep --quiet". grep --quiet exits on the first match,
ctr can then die of SIGPIPE and pipefail fails the check on an image
that was imported. This failed the Images gate on PR #116. Redirect
grep's output instead, here and on the two kubectl logs checks.

Closes #117

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SvQMHbyoPLZfFs74vnQNdD
@snovak7 snovak7 self-assigned this Oct 19, 2026
…sors

SensorFaults failed and counted every SetContext on the cluster. The
Devices of earlier tests in UncalibratedAlertGrainTests send their
unconfirmed contexts again when they are activated, so a test could
see 44 failed contexts where its Node sent 4 (PR #116's .NET job).
Fail and count per Sensor, and have each test name its Node's four.

Refs #117

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SvQMHbyoPLZfFs74vnQNdD
@snovak7 snovak7 changed the title fix(deploy): let smoke greps read their whole input under pipefail fix: harden the smoke image check and the context-fault tests against CI flakes Oct 19, 2026
snovak7 and others added 2 commits October 19, 2026 22:07
41bb258 is the loop's local "awaiting operator" commit for story 10-1.
It carries the same Epic 10 context prose as ee32e27 and is pushed with
the next story's branch, where the Secrets job would flag it again.

Refs #117

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SvQMHbyoPLZfFs74vnQNdD
@snovak7
snovak7 merged commit 84b05b1 into main Oct 19, 2026
14 checks passed
@snovak7
snovak7 deleted the fix/epm-t139-gh117-smoke-image-check-sigpipe branch October 19, 2026 20:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Smoke image check fails on SIGPIPE under pipefail

1 participant