Skip to content

tools: Task and go-tools as released binaries, not go.mod's - #228

Merged
aledbf merged 1 commit into
mainfrom
tools-as-binaries
Nov 9, 2026
Merged

aledbf merged 1 commit into
mainfrom
tools-as-binaries

Conversation

@aledbf

@aledbf aledbf commented Nov 9, 2026

Copy link
Copy Markdown
Member

go tool task is now go-tools' task command (spin-stack/go-tools#100, #101): the Task that versions.yaml pins, with every go-tools command from its latest release on PATH.

  • go.mod: Task's and go-tools' ten tools are replaced by github.com/spin-stack/go-tools/cmd/task. go list -m all: 455 → 81 modules. The libraries this repository imports (versions, attestgate, …) stay.
  • versions.yaml task: {os}_{arch} with pins for linux/amd64, linux/arm64, darwin/amd64 and darwin/arm64, and the github-release track (tags can't check publication of a per-platform URL).
  • image/Dockerfile: takes TASK_SHA256_LINUX_AMD64 and exports it as the same TASK_SHA256 that install-dev-tools.sh reads. Same sha (680859db…), so the guest's Task doesn't change.
  • Taskfiles (root, boot/, e2fsprogs/, kernel/, qemu/) and hack/release, hack/touches: the tools by name; they all run inside Task.
  • Comments in the workflows, taskgate-allow.txt and docs/releasing.md.

Checked locally:

  • go tool task lint and go test ./... pass (versions gate, workflows).
  • versions args ubuntu mkosi task git-lfs buildkit gives TASK_SHA256_LINUX_AMD64=680859db… and TASK_VERSION=3.54.0.

hack/touches will see task's arguments changed, so the image gets rebuilt in this PR. The bytes of Task inside are the same.

🤖 Generated with Claude Code

go tool task is go-tools' task command now: the Task versions.yaml pins,
with go-tools' latest release on its PATH, so the Taskfiles and hack/
call versions, mutate, sbom, provenance, attestgate and the gates by
name. Neither is compiled here any more: the module graph goes from 455
modules to 81.

task is pinned for every platform a person or a runner works on, so the
image takes linux/amd64's as TASK_SHA256_LINUX_AMD64 and hands
install-dev-tools.sh the same TASK_SHA256 it read: the guest's Task is
the bytes it was.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@aledbf
aledbf merged commit 6e25bb3 into main Nov 9, 2026
7 checks passed
@aledbf
aledbf deleted the tools-as-binaries branch November 9, 2026 22:09
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.

1 participant