chore(dev/onboarding): set up mise-based workflow for initial codebase setup#5761
Conversation
Supabase CLI previewnpx --yes https://pkg.pr.new/supabase/cli/supabase@26d0c81d829859eaad28926d0c5c709e1be4f1efPreview package for commit |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3820f1b03c
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
Few minor comments and nitpicks, leaving approval to @Coly010 given my comment about NX/monorepo.
Thanks for this PR !
Also, the PR title I think should be chore: as it's only adding dev tools for contributors, nothing user facing in a release.
mise-based workflow for initial codebase setupmise-based workflow for initial codebase setup
Co-Authored-By: Andrew Valleteau <avallete@users.noreply.github.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 68862e363e
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4784613cd2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Excited to use mise in CI! I have an idea for simplifying the caching setup in #5778 — will see if it actually does the trick.
| "go:github.com/golangci/golangci-lint/v2/cmd/golangci-lint" = "2.1.6" | ||
|
|
||
| [settings] | ||
| idiomatic_version_file_enable_tools = ["node", "bun", "pnpm"] |
There was a problem hiding this comment.
🤦 did not realize that this option supported pnpm — nice catch!
| const packageJson = JSON.parse(readFileSync("package.json", "utf8")); | ||
| const payload = { | ||
| bun: readFileSync(".bun-version", "utf8").trim(), | ||
| mise: readFileSync("mise.toml", "utf8").trim(), | ||
| node: packageJson.devEngines?.runtime, | ||
| pnpm: packageJson.packageManager, | ||
| }; | ||
| const digest = createHash("sha256") | ||
| .update(JSON.stringify(payload)) | ||
| .digest("hex"); | ||
| console.log(`hash=${digest}`); | ||
| JS |
There was a problem hiding this comment.
I have an idea for simplifying this so we don't need to manually grab all of the source files to construct the cache key — see #5778. Still needs testing!
## What kind of change does this PR introduce? Follow-up enhancement to supabase#5761. Adds [a `mise.lock` lockfile](https://mise.jdx.dev/dev-tools/mise-lock.html) and uses that as our cache key (as opposed to building our own). ## What is the current behavior? `mise` cache in CI is built by manually grabbing all of the source files and creating our own hash. ## What is the new behavior? Uses the `mise.lock` file to create the file hash. Hopefully same caching behavior as before.
What kind of change does this PR introduce?
Adds a
mise.tomlalong with enhancements to ourCONTRIBUTING.mdso first-time contributors have a quick and easy way to install all the correct versions of all of the required software (Node, Bun, Go,golangci-lint, pnpm) to get tests running.I tried to minimize the amount of additional configuration, utilizing existing files (e.g.,
.nvmrc,go.mod,package.json) as the respective versioning sources of truth where applicable.I also chose not to commit a
mise.locklockfile for simplicity's sake but I'm happy to add it if folks want to lean intomisefurther in this repo.What is the current behavior?
If someone clones the repo for the first time, they'll need to manually download all of the executables (Node, Bun, Go, golangci-lint) and look in a few different places to determine which versions to use.
What is the new behavior?
Now, users can install
miseand runmise installand it'll install the correct versions of all the required software:CleanShot.2026-07-02.at.08.04.14.mp4