-
Notifications
You must be signed in to change notification settings - Fork 298
Description
🏥 CI Failure Investigation - Run #22058525578
Summary
TestGetActionPinSemverPreference fails because the newly added action pin dataset only provides an actions/upload-artifact@v6 entry, so GetActionPin returns # v6 where the test asserts that the highest semver pin should read v6.0.0.
Failure Details
- Run: 22058525578
- Commit: 50cc1f9
- Trigger: push
Root Cause Analysis
pkg/workflow/data/action_pins.json (and the matching .github/aw/actions-lock.json) only recorded actions/upload-artifact pins for v4.6.2, v5, and v6. TestGetActionPinSemverPreference expects the highest semver for this repo to be v6.0.0, so GetActionPin and GetActionPinByRepo currently resolve to the v6 entry, which causes the assertions to fail.
Failed Jobs and Errors
test–action_pins_test.go:576andaction_pins_test.go:585report:GetActionPin(actions/upload-artifact) = actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6, expected version v6.0.0 GetActionPinByRepo(actions/upload-artifact).Version = v6, expected v6.0.0
Investigation Findings
- The embedded JSON for action pins lacked an
actions/upload-artifact@v6.0.0entry, so the semver selection code picked thev6pin it could see. - The workflow action lock mirrored the same dataset, so no downstream workflows knew about the patch-level tag either.
- Without the
v6.0.0release object, the semver preference test can't identify the expected version and fails before any workflow generation begins.
Recommended Actions
- Add an
actions/upload-artifact@v6.0.0entry (same SHAb7c566a772e6b6bfb58ed0dc250532a479d7789f) to bothpkg/workflow/data/action_pins.jsonand.github/aw/actions-lock.jsonso the semver-sorting helpers now resolve tov6.0.0. - Re-run
go test ./pkg/workflow -run TestGetActionPinSemverPreference(or the fulltestjob) after the environments that run locally can download the Go 1.25 toolchain to confirm the fix before reverting to the CI run.
Prevention Strategies
When updating action pin datasets, always verify that the patch-level tags expected by TestGetActionPinSemverPreference and other semver-aware tests exist in both embedded JSONs. Consider adding a quick script/check that cross-references the highest semver tag for each repo with the entries currently stored so such mismatches are caught before a CI run.
AI Team Self-Improvement
Before touching the action pin lists, remind the AI agent to ensure (1) the desired patch-level version (e.g., v6.0.0) is present in pkg/workflow/data/action_pins.json and .github/aw/actions-lock.json, and (2) TestGetActionPinSemverPreference will therefore still pass with the new data.
Historical Context
No previous CI Failure Doctor investigation has documented this exact failure; the problem appeared when the new action pin dataset was introduced without that v6.0.0 entry.
🩺 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 17, 2026, 10:22 AM UTC