Skip to content

chore(tooling): standardize on mise and prek - #140

Merged
skevetter merged 1 commit into
mainfrom
chore/standardize-mise-prek-2
Oct 17, 2026
Merged

skevetter merged 1 commit into
mainfrom
chore/standardize-mise-prek-2

Conversation

@skevetter

Copy link
Copy Markdown
Contributor

What changed

  • Add mise.toml + mise.lock (linux-x64, macos-arm64) pinning all tool versions.
  • Remove Taskfile.yml; tasks moved to [tasks] in mise.toml (same names).
  • Convert .pre-commit-config.yaml to prek.toml (via prek util yaml-to-toml; same repos, revs, args, stages, filters). Remote golangci-lint hooks kept.
  • pre-commit.yml workflow: j178/prek-action replaced by jdx/mise-action (SHA-pinned, same as microsandbox/runtime-sdk) + prek run --all-files.
  • README local-development instructions updated; renovate rule keeps the mise Go pin aligned with go.mod.

Tool versions

Tool Version Source
go 1.26.8 go.mod
golangci-lint 2.15.0 repo's existing hook + lint.yml pin (highest in any Devsy repo)
goreleaser 2.18.3 release.yaml uses ~> v2 (latest 2.x)
prek 0.5.2 highest pinned in Devsy repos

Task mapping

Old (Taskfile) New
task build:cli mise run build:cli
task build:provider:dev mise run build:provider:dev
task build:provider:release mise run build:provider:release (VERSION from git describe in shell)
- mise run setup, setup:dependencies, setup:hooks (prek install)

Verification

  • prek validate-config prek.toml: valid.
  • prek run --all-files: all hooks Passed (shellcheck/shfmt skipped, no files).
  • mise run build:provider:dev: goreleaser snapshot + provider.yaml generated OK.
  • build:provider:release not run (needs a tag/dist; logic is a direct translation).

Risks

  • Renovate has no prek manager yet (New package manager: prek renovatebot/renovate#41683), so hook revs in prek.toml will not be auto-bumped until it lands; the pre-commit manager only matches .pre-commit-config.yaml.
  • .devcontainer still installs prek via the devcontainers-extra feature; mise is not installed there.
  • lint.yml and release.yaml unchanged (they use golangci-lint-action / goreleaser-action, not task/prek-action).

Pin go, golangci-lint, goreleaser and prek in mise.toml with mise.lock.
Move Taskfile tasks to mise tasks, convert .pre-commit-config.yaml to
prek.toml, and run the pre-commit workflow through jdx/mise-action.
@coderabbitai

coderabbitai Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 2332f7b6-706b-4aef-ac69-2a4ac8772454
📥 Commits

Reviewing files that changed from the base of the PR and between e070335 and d1244b6.

⛔ Files ignored due to path filters: 1
  • mise.lock is excluded by !**/*.lock
📒 Files selected for processing: 7
  • .github/workflows/pre-commit.yml
  • .pre-commit-config.yaml
  • README.md
  • Taskfile.yml
  • mise.toml
  • prek.toml
  • renovate.json
✨ Finishing Touches
✨ Simplify code
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@skevetter
skevetter marked this pull request as ready for review October 17, 2026 17:12
@skevetter
skevetter merged commit 9aeab84 into main Oct 17, 2026
5 of 6 checks passed
@skevetter
skevetter deleted the chore/standardize-mise-prek-2 branch October 17, 2026 17:13
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