ci: pin go-task version to avoid intermittent setup failures#5836
Conversation
The default `version: 3.x` makes `go-task/setup-task@v1` resolve the latest tag via the GitHub releases API. That call has failed twice in the last few hours on main with `unable to get latest version`, breaking test-php (run 25015144215) and build-web/test-prqlc-c (run 25007961050). Pinning a concrete semver makes the action skip the API call entirely (`semver.valid(version)` short-circuits in the action's installer.ts). Co-Authored-By: Claude <noreply@anthropic.com>
|
ok, and then bump this in our weekly maintenance task |
|
Opened #5840 to add the bump to |
why? can we re-enable? |
|
Historical artifact. The setting was added in #5727 when the workflow was named The renamed Happy to open a follow-up PR flipping |
yes please |
|
Opened #5842. |
Problem
test-phpfailed on main in run 25015144215 (commit da7ce0e) with##[error]unable to get latest versionfromgo-task/setup-task@v1. The same error brokebuild-webandtest-prqlc-cin the prior main run 25007961050 — so this is a recurring failure mode, not a one-off.Root cause: the action defaults to
version: 3.xand resolves the concrete release viahttps://api.github.com/repos/go-task/task/releases?per_page=100. When that response is empty (rate limit, transient API hiccup),installer.tsthrowsunable to get latest version.max-retries: 3only re-tries the HTTP call, not the empty-result branch.Solution
Pin
version: 3.50.0(the current latest task release, published 2026-04-13) at everygo-task/setup-task@v1call site. The action'scomputeVersionshort-circuits whensemver.valid(version)is true, skipping the API lookup entirely — so a concrete semver eliminates the failure mode.Updated four sites:
.github/workflows/test-php.yaml.github/workflows/build-web.yaml.github/workflows/test-prqlc-c.yaml.github/actions/tend-setup/action.yaml(also covers tend-* workflows that consume this composite action)The commented-out reference in
.github/workflows/tests.yaml:293was left untouched.Testing
Can only be verified end-to-end by CI. The change is mechanical — a value pinned in YAML — and matches the action's documented behavior.
Automated fix for failed run 25015144215.