chore: migrate build tooling from mage to mise#5504
Merged
markphelps merged 6 commits intov2from Mar 8, 2026
Merged
Conversation
Add .mise.toml with tool versions (Go 1.26, Node 20) and all mage tasks migrated to mise tasks. This provides a single source of truth for tool versions and replaces mage as the task runner. Task aliases are provided for common operations: mise run test -> go:test mise run fmt -> go:fmt mise run lint -> go:lint mise run bench -> go:bench mise run proto -> go:proto The magefile.go is retained for now as CI workflows still reference it. CI migration will follow in a separate PR. Closes #5502 Signed-off-by: Mark Phelps <209477+markphelps@users.noreply.github.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## v2 #5504 +/- ##
==========================================
- Coverage 60.44% 60.40% -0.05%
==========================================
Files 141 141
Lines 13995 13995
==========================================
- Hits 8459 8453 -6
- Misses 4816 4821 +5
- Partials 720 721 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
- Add `go:fuzz` mise task (aliased as `fuzz`) to run all fuzz tests across the multi-module repo. Duration controllable via FLIPT_FUZZ_TIME env var (default 10s per target). - Fix FuzzEnvSubst and FuzzDecodeHooks failures caused by null bytes and '=' characters in fuzzed env var names/values. These are invalid for t.Setenv and are now skipped. - Remove failing seed corpus entry for FuzzEnvSubst. Signed-off-by: Mark Phelps <209477+markphelps@users.noreply.github.com>
Signed-off-by: Mark Phelps <209477+markphelps@users.noreply.github.com>
Contributor
|
we probably could use golangci-lang and buf with mise too and remove them from go tools |
Signed-off-by: Mark Phelps <209477+markphelps@users.noreply.github.com>
- Add golangci-lint 2.9.0 and buf 1.56.0 as mise-managed tools instead
of Go tool dependencies. This removes buf/cmd/buf,
protoc-gen-buf-breaking, protoc-gen-buf-lint, and golangci-lint from
go.mod, shedding many transitive dependencies.
- Simplify lint and proto tasks to use mise-managed binaries directly.
- Add validEnvVar helper to consolidate env var validation in fuzz tests.
- Fix FuzzDecodeHooks failing on empty env var names (e.g. input "${}")
Signed-off-by: Mark Phelps <209477+markphelps@users.noreply.github.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
.mise.tomlwith tool versions (Go 1.26, Node 20, golangci-lint 2.9.0, buf 1.56.0) and all mage tasks migrated to mise tasksmise runcommands instead ofmagemagefile.gofor CI workflows until follow-up PR migrates thosego:fuzzmise task to run all fuzz tests across the multi-module repoFuzzEnvSubst,FuzzDecodeHooks) caused by invalid env var inputsAliases are provided for common tasks:
mise run test,mise run fmt,mise run lint,mise run bench,mise run proto,mise run fuzz.Changes
.mise.toml: Tool versions and 21 mise tasks covering bootstrap, build, test, lint, format, proto generation, fuzz testing, and UI workflowsgo.mod/go.sum: Removedbuf/cmd/buf,protoc-gen-buf-breaking,protoc-gen-buf-lint, andgolangci-lintfrom Go tool depsAGENTS.md: Quality checklist referencesDEVELOPMENT.md: Requirements, setup instructions, and workflow commandsbuild/CLAUDE.md: Pre-commit checks and troubleshootingui/AGENTS.md: UI dev/build commandsui/ARCHITECTURE.md: Test commandinternal/config/config_fuzz_test.go: AddedvalidEnvVarhelper to skip fuzz inputs with empty names, null bytes, or=characters; removed invalid seed corpus entriesCloses #5502