Skip to content

fix: use mise bootstrap script so renovate works without pre-installed mise - #2119

Draft
pose wants to merge 2 commits into
masterfrom
fix/renovate-mise-bootstrap
Draft

fix: use mise bootstrap script so renovate works without pre-installed mise#2119
pose wants to merge 2 commits into
masterfrom
fix/renovate-mise-bootstrap

Conversation

@pose

@pose pose commented Mar 19, 2026

Copy link
Copy Markdown
Member

WIP: This PR requires testing and thought

Fixes pulumi/home#4462

Summary

  • Renovate CE runs make renovate inside its container, which does not have mise in PATH. The mise_env and .make/mise_install Makefile targets fail immediately, breaking post-upgrade SDK regeneration.
  • Adds a self-contained bin/mise bootstrap script (generated by mise generate bootstrap) to the base template. The script downloads and caches the correct mise binary on first use — no pre-installed tooling required.
  • Updates mise_env and .make/mise_install to call ./bin/mise instead of mise, so all make targets work in environments without a system mise.
  • Updates clean to preserve bin/mise since it is a committed file, not a build artifact.
  • Adds generate.go logic to mark bin/mise as executable when rendering templates.
  • Adds a migration (allowBinMise) that adds !bin/mise to .gitignore in repos that ignore the bin/ directory, ensuring the bootstrap script can be committed.

Test plan

  • make test-provider/eks passes with all 11 migrations running/skipping correctly
  • Generated test-providers/eks/bin/mise is executable (-rwxr-xr-x)
  • Generated test-providers/eks/Makefile uses ./bin/mise in mise_env and .make/mise_install
  • Generated test-providers/eks/Makefile uses find bin -mindepth 1 ! -name mise -delete in clean
  • Verify in a Renovate CE container that make renovate completes successfully after onboarding

🤖 Generated with Claude Code

…d mise

Renovate CE runs `make renovate` inside its container, which does not
have mise in PATH. This causes `mise_env` and `mise_install` targets to
fail, breaking post-upgrade SDK regeneration.

Instead of relying on a system-installed mise, commit a self-contained
bootstrap script (`bin/mise`, generated by `mise generate bootstrap`) to
provider repos. The script downloads and caches the mise binary on first
use, requiring no pre-installed tooling.

Changes:
- Add `bin/mise` bootstrap script to the base Makefile template
- Update `mise_env` and `.make/mise_install` to call `./bin/mise` directly
- Update `clean` to preserve `bin/mise` (it is a committed file)
- Mark `bin/mise` as executable in the generator (alongside `.sh` files)
- Add migration to un-ignore `bin/mise` in repos that ignore `bin/`
- Update `.gitignore` in provider-ci to allow the template's `bin/mise`

Fixes pulumi/home#4462

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@pose pose self-assigned this Mar 19, 2026
@pose
pose requested review from a team March 19, 2026 15:48
@pose pose added this to the 0.134 milestone Mar 19, 2026
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@pose
pose marked this pull request as draft March 20, 2026 08:26
@pose pose modified the milestones: 0.134, 0.136 Apr 13, 2026
@pose pose modified the milestones: 0.136, 0.137 Apr 20, 2026
@pose pose added this to the 0.140 milestone Jun 30, 2026
@corymhall
corymhall removed the request for review from a team July 23, 2026 12:30
@pose pose removed this from the 0.140 milestone Aug 12, 2026
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