Skip to content

[CI Failure Doctor] Missing upload-artifact@v6.0.0 pin breaks action pin tests #16082

@github-actions

Description

@github-actions

🏥 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

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

  • testaction_pins_test.go:576 and action_pins_test.go:585 report:
    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

  1. The embedded JSON for action pins lacked an actions/upload-artifact@v6.0.0 entry, so the semver selection code picked the v6 pin it could see.
  2. The workflow action lock mirrored the same dataset, so no downstream workflows knew about the patch-level tag either.
  3. Without the v6.0.0 release 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.0 entry (same SHA b7c566a772e6b6bfb58ed0dc250532a479d7789f) to both pkg/workflow/data/action_pins.json and .github/aw/actions-lock.json so the semver-sorting helpers now resolve to v6.0.0.
  • Re-run go test ./pkg/workflow -run TestGetActionPinSemverPreference (or the full test job) 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

Metadata

Metadata

Labels

cookieIssue Monster Loves Cookies!

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions