-
Notifications
You must be signed in to change notification settings - Fork 269
Description
🏥 CI Failure Investigation - Run #33531
Summary
Live GitHub API integration tests under actions/setup/js are failing because the JavaScript implementation now produces a different frontmatter hash for .github/workflows/audit-workflows.md than the hard-coded Go hash expectation after the recent workflow changes (removal of the gh-aw extension install step).
Failure Details
- Run: 21636668976
- Commit: 1f3c2c4
- Trigger: push
Root Cause Analysis
The failing test (frontmatter_hash_github_api.test.cjs → cross-language validation → should compute same hash as Go implementation when using file system) compares the JavaScript hash to a fixed Go-derived hash string (468877fb...). The workflow file .github/workflows/audit-workflows.md changed in the same push (removing the extension installation step), so the Go hash also changed. The JS test expectation was not updated, and the computed hash (ff56a35b...) now differs, so the assertion always fails.
Failed Jobs and Errors
- js-integration-live-api / js – cross-language hash assertion fails with
expected 'ff56a35b...' to be '468877fb...'(seefrontmatter_hash_github_api.test.cjs:173).
Investigation Findings
- The Go tool
computeFrontmatterHashnow returnsff56a35b191afe28f76a09217de1597695a225e8f41502cc815a0a9e0eb2f96eforaudit-workflows.mdafter the workflow change. - The TypeScript test insists on the previous hash value because it was hard-coded.
Recommended Actions
- Update the JS cross-language expectation to match the new Go hash (or derive it dynamically by invoking the Go code) so the test reflects the current workflow contents.
- Consider sharing the authoritative hash output (e.g., via a helper file or generated fixture) between Go and JS to avoid future drift whenever workflow sources change.
Prevention Strategies
Always recompute or re-derive the expected hash (rather than hard-coding it) when modifying workflow sources that are part of the hash, so cross-language validation cannot break from content drift.
AI Team Self-Improvement
When updating workflows that are hashed by both Go and JS, rerun the Go hash generator and propagate the new hash into the JS cross-language test (automating the copy if possible).
Historical Context
No previous automated investigations reference this specific hash mismatch; prior runs have passed because the workflow file and the expected hash were still in sync.
AI generated by CI Failure Doctor
To add this workflow in your repository, run
gh aw add githubnext/agentics/workflows/ci-doctor.md@ea350161ad5dcc9624cf510f134c6a9e39a6f94d. See usage guide.
- expires on Feb 5, 2026, 4:00 PM UTC