Repository navigation
build(tooling): replace proto with mise and run moon on system binaries - #42
Merged
Merged
Conversation
Swap Proto (.prototools + .moon/proto/* + .envrc) for mise (mise.toml + committed mise.lock). moon stays the task runner / CI gate but runs every tool as a `system` binary that mise puts on PATH (toolchains.default: system in moon.yml; .moon/toolchains.yml declares no language toolchain). All 11 pinned tools migrate with integrity enforcement intact: 10 use verifying aqua backends (golangci-lint, kubebuilder, setup-envtest, kubectl, helm, chainsaw, ko, tilt, ctlptl, kind) plus moon; controller-gen ships no aqua package and uses the canonical Go backend. melange/apko/cosign are pinned now so the full toolset is locked in one place for the later container/release work. `settings.locked` makes `mise install` fail closed when a tool lacks a pre-resolved, checksummed entry for the current platform. CI swaps moonrepo/setup-toolchain for jdx/mise-action (ci.yml plus the Helm jobs in release.yml and release-dry-run.yml); cache keys key on mise.lock and the job pins GOTOOLCHAIN=local. setup-go now reads go.mod instead of the removed .go-version. README/AGENTS dev-setup instructions point at `mise install`. Verified: `moon run root:check` and `moon run root:test` both green against the mise-provisioned toolchain. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replaces Proto tool management with mise, and configures Moon to run every
tool as a
systembinary that mise puts on PATH. This is PR1 of thetemplate-go-api session-015 tooling reproduction (mise → melange/apko → SLSA
L3 reusable
attest.yml→ skills/docs).mise.toml+ committedmise.lockreplace.prototools+.moon/proto/*+.envrc+.go-version.aqua:backends (golangci-lint, kubebuilder, setup-envtest, kubectl, helm,chainsaw, ko, tilt, ctlptl, kind) + moon;
controller-genuses the canonicalGo backend (no aqua package exists).
melange/apko/cosignare pinned nowfor the later container/release PRs.
settings.locked→mise installfails closed if a tool lacks apre-resolved, checksummed entry for the current platform.
systemtoolchain (toolchains.default: system;.moon/toolchains.ymldeclares no language toolchain). No task bodies changed— they already invoked tools directly with no
proto runwrapper.moonrepo/setup-toolchain→jdx/mise-actioninci.ymland the Helmjobs of
release.yml/release-dry-run.yml; cache keys key onmise.lock;GOTOOLCHAIN: localpinned on the CI job.setup-goreadsgo.mod(theremoved
.go-version).Testing
moon run root:check✅ — go format, lint, generated/RBAC drift, Helmlint/template/install, Chainsaw manifests.
moon run root:test✅ — envtest (k8s 1.35.x assets via the misesetup-envtest), controller + chart tests.mise installruns fail-closed (locked = true) across linux-x64/arm64 +macos-x64/arm64.
🤖 Generated with Claude Code