[hermes] soteria #328: sonarqube_scanner_toolchain_broken #17
Loading…
x
Reference in New Issue
Block a user
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?
Hermes auto-triage classified incident
soteria/328as sonarqube_scanner_toolchain_broken (confidence 0.62); first failed gate:sonarqube.Why a human is needed
Build 328 failed in the 'Enforce quality gate' stage, not in the tests: no test results were published and no assertion failed. The earliest failure in the log is the SonarQube scanner being unable to run its analysis tools. At 09:02:52 every one of the 26 Go source files failed with 'Go parser external process returned non-zero exit value: 2' (internal/k8s/state.go, internal/server/server.go, cmd/soteria/main.go and the rest), and at 09:03:14 the JS/TS sensor died with 'Cannot run program "node": error=2, No such file or directory'. The build ended with 'ERROR: script returned exit code 1' and the image build was skipped. A parser that exits non-zero on all 26 files, with no compile or test failure ahead of it, is a broken tool rather than broken Go: check first whether the analyzer's helper binary matches the agent's CPU architecture (the agents are arm64) and that it is present and executable in the scanner image; the missing 'node' in the same container points the same way - the image is missing runtimes its enabled sensors need. The fix belongs in the CI pipeline definition and the scanner container image, not in the service source: supply a Node.js runtime (or disable JS/TS analysis if this repo has no JS/TS), and supply a working Go analyzer for the agent architecture. I have flagged this for a maintainer because the console log is truncated between the scanner errors and the pipeline's final error line, so the bundle does not show which command actually returned exit 1 - the scanner itself aborting, or the gate rejecting an analysis in which zero Go code and zero coverage were recorded. Deciding between repairing the image and adjusting what the gate enforces is your call, but re-running the same commit unchanged will reproduce this exactly.
Ariadne did not authorize automated remediation:
human_required.Facts
https://ci.bstein.dev/job/soteria/328/ (jenkins.result, jenkins.timestamps))jenkins.first_failed_stage; jenkins.console_tail)jenkins.failed_tests = [])jenkins.console_failures[0] (marker 'non-zero exit', line 296))jenkins.console_failures[0] and jenkins.console_failures[1] (marker 'No such file', line 399))jenkins.console_failures[0], file:/// URIs in the Go parser errors)jenkins.console_tail; jenkins.console_failures[2] (line 3345))jenkins.console_truncated = true)log_evidence.error, window 2026-08-31T08:54:00Z to 2026-08-31T09:34:06Z)Evidence
The earliest failure region of the build console:
Inferences
Suggested remediation (not available)
No automated remediation exists for this failure. Hermes proposes one; it was not performed, and Ariadne cannot perform it until a person builds and deploys it.
preflight_sonar_scanner_toolchainTruncated by Ariadne: the diagnosis exceeded the configured issue body limit. The complete evidence bundle is in the Ariadne audit trail.