Skip to content

fix(na): pin asdf version in CI workflows - #2265

Merged
sugat009 merged 1 commit into
mainfrom
fix-ci-asdf-pin
Sep 22, 2026
Merged

sugat009 merged 1 commit into
mainfrom
fix-ci-asdf-pin

Conversation

@sugat009

@sugat009 sugat009 commented Sep 22, 2026 •

Copy link
Copy Markdown
Member

Description

CI on main is red. The Install asdf & tools in .tool-versions step fails in ~0.3s with:

Error: No asdf release found for the current platform (linux-amd64)

Nothing in this repo caused it. asdf published v0.20.1 on 2026-09-22 at 02:15 UTC with zero release assets, and our step takes the action's default asdf_version: latest, which resolves to it.

Upstream had just enabled GitHub Immutable Releases (asdf-vm/asdf#2281), which breaks their create-then-upload release pipeline — every asset upload returned 422 Cannot upload assets to an immutable release and the build job was cancelled (asdf-vm/asdf#2329). v0.20.1 is the first release cut since that change, which is why every earlier release has 10 assets and this one has 0.

Why not just re-run

An immutable release cannot accept assets after publish, so v0.20.1 won't be repaired in place — the upstream fix will be a new tag. Until then latest stays broken.

The fix

Pin asdf_version to 0.20.0 — the version CI installed successfully on 2026-09-15, which still has all 10 assets including asdf-v0.20.0-linux-amd64.tar.gz.

Both workflows use the same step, so both are updated. cron-check-links.yml is affected identically.

The action SHA is unchanged — the action isn't at fault.

Note

The value must omit the leading v. The action builds the API path as `tags/v${asdf_version}`, so v0.20.0 would request tags/vv0.20.0 and 404.

This also closes a small gap against the workflows' own header comment — "All software installed below is pinned so they don't get upgraded and break w/o us knowing why." The action SHA and .tool-versions were pinned; asdf itself was the one floating link.

Follow-ups, not in this PR

  • No dependabot.yml / Renovate config, so the SHA-pinned actions are frozen — actions/checkout is on a March 2023 commit, five majors behind. This is also the source of the Node 20 deprecation annotation.
  • CI only needs Hugo and Go; dropping asdf for SHA-pinned peaceiris/actions-hugo + actions/setup-go would remove several unpinned hops (the asdf plugin add calls clone plugin repos at HEAD).
  • The link-check cron has a separate, long-standing failure at the Muffet step — it has failed 29 of its last 30 scheduled runs, going back to at least 2026-03-02, all long before v0.20.1 existed. Real broken links; this PR won't turn that green.

Testing

  • Both workflow files parse; the step resolves to {"asdf_version": "0.20.0"}.
  • Verified tags/v0.20.0 still serves asdf-v0.20.0-linux-amd64.tar.gz.
  • Built this branch locally with Hugo 0.158.0 extended (content is identical to main) — exit 0, 565 pages, 777 aliases, all internal links resolve under linkErrorLevel = "ERROR". One unrelated tabs shortcode deprecation warning.
  • Real check is CI on this PR.

License

The software is provided under AGPL-3.0. Contributions to this project are accepted under the same license.

🤖 Generated with Claude Code

asdf published v0.20.1 with zero release assets, so the install action's
default `asdf_version: latest` resolves to a release with no linux-amd64
tarball and fails with "No asdf release found for the current platform".

Upstream had just enabled GitHub Immutable Releases (asdf-vm/asdf#2281),
which blocks their create-then-upload release pipeline: every asset upload
returned 422 and the build job was cancelled (asdf-vm/asdf#2329). Because
an immutable release cannot accept assets after publish, v0.20.1 will not
be repaired in place -- re-running does not help.

Pin to 0.20.0, the version CI installed successfully on 2026-09-15, which
still has all 10 assets. Note the value must omit the leading "v": the
action builds the API path as `tags/v${asdf_version}`.

Both workflows use the same step, so both are updated.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

@andrablaj andrablaj left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@sugat009
sugat009 merged commit 361e038 into main Sep 22, 2026
2 checks passed
@sugat009
sugat009 deleted the fix-ci-asdf-pin branch September 22, 2026 07:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants