scans-poort is ~50% flaky op de forge #1168
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#1168
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
De
scans-workflow (secrets: gitleaks/trufflehog + SAST: semgrep) faalt intermitterend op de forge, onafhankelijk van de wijziging. Waargenomen rond de v0.2.0-cut:262b1e5e) FAIL, run#2556 (6b69bc3e) OK, run#2551 (c1b1dca3, mijn release-PR) FAIL, run#2548 (33a663f6, main-lineage) FAIL, run#2543 (7d14fc06) OK, run#2538 OK — grofweg 50/50 op vergelijkbare commits.make check-secretsénmake sastgroen op exact dezelfde boom (0 secrets, 0 findings), dus het is geen echte vondst maar infrastructuur/non-determinisme.scansis géén required merge-check (alleenstatic-gateis dat), dus het blokkeert niet — maar een poort die de helft van de tijd rood staat, traint iedereen om rood te negeren, en dán mist hij een echte vondst.Mogelijk gerelateerd aan het net gewijzigde voorgebakken scan-image (#1150). Vraag: diagnosticeer de flake (netwerk/tool-non-determinisme in de container) en maak 'm betrouwbaar, of isoleer het flaky deel. Doel: scans is óf betrouwbaar groen óf een echte, actie-waardige rode.
Opgepakt: ik ga de daadwerkelijke faaluitvoer van een gefaalde scans-run ophalen (niet gissen) en tegen een geslaagde run leggen. Diagnose eerst, dan pas een fix.
Gediagnosticeerd én opgelost. Het was geen flake maar een deterministische breuk die zich als een flake voordeed.
Diagnose (met bewijs uit de runner-logs):
make check-secrets+make sast→ exit 0, geen findings. Het lag dus niet aan de tools./actions/tasks-statusveld is onbetrouwbaar (meldde runs als 'failure' die volgens/actions/runs/{n}/jobsgewoon slaagden). De echte grond-waarheid: de commit-status en de job-logs.docker pull …/ocideck-scans:gl8.30.1-th3.95.9-sg1.171.0 → Error response from daemon: … not found. Het voorgebakken scan-image bestond niet in de registry.context canceled).Oorzaak: #1150 mergede de nieuwe scans.yml (die het image pullt) plus
ci-image-scans.yml, maar het image is nooit gepubliceerd — Forgejo draait een net-toegevoegdepush-workflow niet op de introducerende commit, en niemand dispatchte hem daarna. Precies de valkuil uit de projectkennis 'scans-image eerst publiceren'.Fix:
ci-image-scans.ymlopmaingedispatcht → jobbuild-publish(run 2583) groen: image gebouwd + gepusht. Daarna zijn de PR-scans-runs weer groen (2584, 2586 op verse commits), waar post-#1150-takken eerder 'not found' faalden.Recidive: géén. De
push-trigger vanci-image-scans.ymlstaat op o.a..github/pinned-ci-versions.json, dus een volgende pin-bump herpubliceert het image automatisch. Dit was een eenmalig uitrol-gat, nu gedicht.Bestaande open PR's met rode scans worden groen zodra hun scans opnieuw draait (nieuwe commit of re-run); scans is geen required check, dus het blokkeerde niets. Sluit dit issue.