-
Notifications
You must be signed in to change notification settings - Fork 250
Description
CI Failure Investigation - Run #37498
Summary
The test failure job for run 37498 (head sha ef2fa31d80b793b624a645f83aff2ebc7bf7cca6) failed because the permission validation tests were still looking for the old lowercase message even though the validator now prints Missing required permissions for GitHub toolsets:.
Failure Details
- Run: 22305778290
- Commit: ef2fa31
- Trigger: push
Root Cause Analysis
After the recent fix to capitalize GitHub inside permissions_validation.go, the human-facing text changed but the validator/warning tests continue to assert a lowercase github toolsets string. Each strings.Contains call now returns false, the assertions panic, and TestFormatValidationMessage / TestValidatePermissions_ComplexScenarios abort before reporting a named failure.
Failed Jobs and Errors
test failure: the Go test runner reported❌ FAILURES FOUND in: test-result-unit.jsonfollowed byTestFormatValidationMessage/Missing_permissions_messageand the relatedTestValidatePermissions_ComplexScenariossubtests, plus the warning that "No individual test marked as failed" because the assertions panic during initialization.
Investigation Findings
permissions_validation.gonow buildslinesstarting with"Missing required permissions for GitHub toolsets:"and writes the full suggestion text for Options 1 and 2.- The validator, warning, and "no github tool" tests still hard-code the lowercase text, so their
strings.Containschecks fail and the tests assert before a failure record can be emitted, killing the job early. - Running
go test ./pkg/workflowlocally in this environment tries to download Go 1.25 and fails withgolang.org/toolchain@v0.0.1-go1.25.0...: Forbidden, so we could not re-run the suite here.
Recommended Actions
- Keep the tests locked to the literal message in sync with the production helper (e.g. share a constant or compare case-insensitively) so future user-message tweaks do not break string assertions.
- Re-run
go test ./pkg/workflow(or the fullmake agent-finish) once the Go 1.25 toolchain is available to verify that these fixes cover the entire suite.
Prevention Strategies
Avoid hard-coding case-sensitive user-facing strings in tests; either reference the message via a shared exported helper or assert with strings.Contains(strings.ToLower(...), strings.ToLower(expected)) so cosmetic text tweaks do not cause regressions.
AI Team Self-Improvement
When writing validation tests for CLI output, either derive the expected message from the same helper that produces it or use case-insensitive comparisons so capitalization-only fixes stay safe.
Historical Context
No similar investigations are recorded in the cached history for this repository.
🩺 Diagnosis provided by CI Failure Doctor
To install this workflow, run
gh aw add githubnext/agentics/workflows/ci-doctor.md@ea350161ad5dcc9624cf510f134c6a9e39a6f94d. View source at https://github.com/githubnext/agentics/tree/ea350161ad5dcc9624cf510f134c6a9e39a6f94d/workflows/ci-doctor.md.
- expires on Feb 24, 2026, 12:28 PM UTC