Skip to content

Use mise to manage ormolu and cabal-gild in CI and locally#3930

Open
cprecioso wants to merge 8 commits intomainfrom
cprecioso/minnetonka-v2
Open

Use mise to manage ormolu and cabal-gild in CI and locally#3930
cprecioso wants to merge 8 commits intomainfrom
cprecioso/minnetonka-v2

Conversation

@cprecioso
Copy link
Member

@cprecioso cprecioso commented Mar 18, 2026

Description

Important

For an overview of what is Mise, how it works and how it (doesn't) change our local environments, I made this small write-up: https://gist.github.com/cprecioso/a5cdae82d31dfe3561c7db1c49df594c

Introduce mise as the version manager for formatting tools (ormolu and cabal-gild), replacing the previous approach of building them from source via dev-tool.project and using third-party GitHub Actions. This gives a single source of truth for tool versions (mise.toml), faster CI runs (pre-built binaries instead of Cabal builds), and a simpler local developer experience (run through mise instead of install_dev_tool/dev_tool_path).

Changes:

  • Add mise.toml and mise.lock at the repo root pinning ormolu and cabal-gild versions.
  • Update waspc/run to invoke tools via mise x instead of building them from dev-tool.project.
  • Remove ormolu and cabal-gild version constraints from dev-tool.project.
  • Replace haskell-actions/run-ormolu and tfausak/cabal-gild-setup-action in CI with jdx/mise-action.

This unlocks upgrading the versions of ormolu and cabal-gild:

Type of change

  • 🔧 Just code/docs improvement
  • 🐞 Bug fix
  • 🚀 New/improved feature
  • 💥 Breaking change

Checklist

  • I tested my change in a Wasp app to verify that it works as intended.

  • 🧪 Tests and apps:

    • I added unit tests for my change.
    • (if you fixed a bug) I added a regression test for the bug I fixed.
    • (if you added/updated a feature) I added/updated e2e tests in examples/kitchen-sink/e2e-tests.
    • (if you added/updated a feature) I updated the starter templates in waspc/data/Cli/templates, as needed.
    • (if you added/updated a feature) I updated the example apps in examples/, as needed.
      • (if you updated examples/tutorials) I updated the tutorial in the docs (and vice versa).
  • 📜 Documentation:

    • (if you added/updated a feature) I added/updated the documentation in web/docs/.
  • 🆕 Changelog: (if change is more than just code/docs improvement)

    • I updated waspc/ChangeLog.md with a user-friendly description of the change.
    • (if you did a breaking change) I added a step to the current migration guide in web/docs/migration-guides/.
    • I bumped the version in waspc/waspc.cabal to reflect the changes I introduced.

@cprecioso cprecioso self-assigned this Mar 18, 2026
@cprecioso cprecioso changed the base branch from main to cprecioso/minnetonka-v1 March 18, 2026 09:22
@cprecioso cprecioso temporarily deployed to railway-deploy-test March 18, 2026 09:27 — with GitHub Actions Inactive
@cprecioso cprecioso changed the title cprecioso/minnetonka v2 Use mise to manage ormolu and cabal-gild in CI and locally Mar 18, 2026
waspc/run Outdated
PRETTIER_CHECK_CMD="(cd .. && npm ci && npm run check:prettier)"
PRETTIER_FORMAT_CMD="(cd .. && npm ci && npm run format:prettier)"
ORMOLU_BASE_CMD="$(install_dev_tool ormolu) && $(dev_tool_path ormolu) --color always --check-idempotence"
ORMOLU_BASE_CMD="mise x ormolu -- ormolu --color always --check-idempotence"
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mise x ormolu ensures that we're using the Mise-requested ormolu version even if Mise is not correctly hooking into the current env, or if the tool is not yet installed.

@pkg-pr-new
Copy link

pkg-pr-new bot commented Mar 18, 2026

Open in StackBlitz

@wasp.sh/wasp-cli

npx https://pkg.pr.new/@wasp.sh/wasp-cli@3930

@wasp.sh/wasp-cli-darwin-arm64-unknown

npx https://pkg.pr.new/@wasp.sh/wasp-cli-darwin-arm64-unknown@3930

@wasp.sh/wasp-cli-darwin-x64-unknown

npx https://pkg.pr.new/@wasp.sh/wasp-cli-darwin-x64-unknown@3930

@wasp.sh/wasp-cli-linux-x64-glibc

npx https://pkg.pr.new/@wasp.sh/wasp-cli-linux-x64-glibc@3930

@wasp.sh/wasp-cli-linux-x64-musl

npx https://pkg.pr.new/@wasp.sh/wasp-cli-linux-x64-musl@3930

commit: a532f2f

Base automatically changed from cprecioso/minnetonka-v1 to main March 18, 2026 10:56
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@cprecioso cprecioso temporarily deployed to railway-deploy-test March 18, 2026 11:16 — with GitHub Actions Inactive
@cprecioso cprecioso marked this pull request as ready for review March 18, 2026 12:16
@cprecioso cprecioso requested a review from a team as a code owner March 18, 2026 12:16
@cprecioso cprecioso requested review from FranjoMindek and removed request for a team March 18, 2026 12:16
@cprecioso cprecioso temporarily deployed to railway-deploy-test March 18, 2026 12:21 — with GitHub Actions Inactive
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