Skip to content

build: limit mr-boxington by os so Intel macOS installs and locks cleanly - #139

Merged
amondnet merged 2 commits into
mainfrom
amondnet/138-mise-macos-x64-lock
Nov 8, 2026
Merged

amondnet merged 2 commits into
mainfrom
amondnet/138-mise-macos-x64-lock

Conversation

@amondnet

@amondnet amondnet commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Issue #138 asked to keep mise.macos-x64.lock in sync on mr-boxington bumps. While working on it, I found that on Intel macOS plain mise install and mise lock already exit 1 with the current lockfiles (failed to resolve mr-boxington for macos-x64: selecting the packslip artifact for macos-x64). The base mise.lock packslip entry has no darwin x86_64 asset, and mise tries to resolve it for the current platform. --locked (CI) was unaffected, and replacing the alias with disable_tools did not help. This PR uses mise's per-tool os option so one lockfile works on every platform.

What changed

  • mr-boxington is limited to linux, macos/arm64, and windows. A "cargo:mbx" entry is limited to macos/x64. Both read {{vars.mbx}} from a single [vars] mbx.
  • Deleted mise.macos-x64.toml, mise.macos-x64.lock, .miserc.toml (auto_env), and the [tasks.lock] workaround. Plain mise lock now works everywhere. CONTRIBUTING.md is updated.
  • mise.lock gains a version-only cargo:mbx entry and three mr-boxington baseline platform entries.

Scope

Covers the mr-boxington and mbx install and lock flow only. Other tools and CI workflows are unchanged.

Blast radius

Linux CI installs with --locked and MISE_DISABLE_TOOLS=cargo:hk,mr-boxington. cargo:mbx is os-limited to macos/x64, so it is skipped there. Linux, macOS arm64, and Windows were not verified locally.

Verification

mise 2026.11.1 on Intel macOS:

  • mise lock, mise install, and mise install --locked all exit 0. Before this change the first two exited 1.
  • mise exec -- mbx --version prints mbx 1.29.2, and relocking is a fixed point.
  • Changing vars.mbx to 1.29.1 and running mise lock updated both entries and pruned the old ones (reverted afterwards).

Related issue

Closes #138

Checklist

  • PR title follows Conventional Commits
  • Tests added or updated, and the suite passes (mise run test)
  • Lint/format pass (mise run lint)
  • Documentation updated if behavior changed
  • No breaking change, or a BREAKING CHANGE: note is included

Summary by cubic

Fixes Intel macOS mise install and mise lock exiting 1 because mr-boxington ships no darwin x86_64 release asset, and replaces the unrefreshable per-platform lockfile with a single one that works on every platform.

Bug Fixes

  • Limits mr-boxington to linux, macos/arm64, and windows; Intel macOS installs the same version from crates.io via cargo:mbx instead.
  • Reads both entries from [vars] mbx, so one mise lock refreshes both on version bumps (closes build: keep mise.macos-x64.lock in sync when mr-boxington is bumped #138).
  • Removes mise.macos-x64.toml, mise.macos-x64.lock, .miserc.toml, and the [tasks.lock] workaround; updates CONTRIBUTING.md.

Written for commit 66e95aa. Summary will update on new commits.

Turn on auto-fix

…anly

On Intel macOS, plain `mise install` and `mise lock` exited 1 with
"failed to resolve mr-boxington for macos-x64: selecting the packslip
artifact", because the base lock's packslip entry has no darwin x86_64
asset. The separate mise.macos-x64.lock also could not be refreshed on
a version bump.

Limit mr-boxington to linux, macos/arm64 and windows, and add a
`cargo:mbx` entry limited to macos/x64. Both read their version from a
new `[vars] mbx`, so one `mise lock` updates both entries. Remove the
`[tasks.lock]` workaround, mise.macos-x64.toml, mise.macos-x64.lock and
.miserc.toml, and update the Intel macOS note in CONTRIBUTING.md.

Closes #138
@gemini-code-assist

Copy link
Copy Markdown

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@codecov

codecov Bot commented Nov 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@codspeed

codspeed Bot commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

Merging this PR will not alter performance

1 warning

⚠️ 1 benchmark is dominated by system calls

System calls cannot be simulated consistently and are left out of the measure. The reported value understates the real cost. Switch to the Walltime instrument to measure them.

Learn more about system calls

See affected benchmarks

✅ 7 untouched benchmarks


Comparing amondnet/138-mise-macos-x64-lock (66e95aa) with main (726d11c)

Open in CodSpeed

@amondnet
amondnet marked this pull request as ready for review November 8, 2026 20:18
@gemini-code-assist

Copy link
Copy Markdown

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@sonarqubecloud

sonarqubecloud Bot commented Nov 8, 2026

Copy link
Copy Markdown

@greptile-apps

greptile-apps Bot commented Nov 8, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge; no actionable issues were found.

Summary

This PR puts both mbx install paths in one configuration and lockfile.

  • The mise config picks the mbx installer that matches each operating system.

No actionable issues were found. Runtime checks were not run during this review.

Reviews (1) · Last reviewed commit: "style: split os-restricted tool entries ..." · Reviewed by Greptile

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

cubic analysis

No issues found across 6 files

Linked issue analysis

Linked issue: pleaseai/code-search#138: build: keep mise.macos-x64.lock in sync when mr-boxington is bumped

Status Acceptance criteria Notes
✅ Keep both mbx entries in sync on version bumps mise.toml uses vars.mbx for both tools, and the PR reports relocking updates both entries together.
✅ Make Intel macOS installs and locks work without a separate lockfile The os-limited cargo:mbx entry replaces the removed platform config, and the PR reports Intel mise lock and install succeed.
Architecture diagram
sequenceDiagram
    participant Dev as Developer
    participant Mise as mise CLI
    participant Lock as mise.lock
    participant Tool as mr-boxington/cargo:mbx
    participant Registry as crates.io

    Note over Dev,Registry: Install & Lock Flow

    Dev->>Mise: mise lock / mise install
    Mise->>Lock: Resolve tools from mise.toml

    alt Linux, macOS arm64, Windows
        Mise->>Mise: Read mr-boxington.version + os filter
        Mise->>Tool: Fetch mr-boxington release asset
        Tool-->>Mise: Version 1.29.2 binary
    else Intel macOS (macos/x64)
        Mise->>Mise: Skip mr-boxington (os mismatch)
        Mise->>Mise: Read cargo:mbx.version + os filter
        Mise->>Registry: cargo install mbx 1.29.2
        Registry-->>Mise: Build from source (Rust 1.91+)
    end

    Mise->>Lock: Write/update lock entries
    Lock-->>Mise: Confirmed

    Dev->>Mise: mise exec -- mbx --version
    Mise->>Mise: Select cargo:mbx (Intel macOS) or mr-boxington (others)
    Mise-->>Dev: mbx 1.29.2

    Note over Mise,Lock: Version bump flow
    Dev->>Mise: Change vars.mbx to 1.29.1
    Dev->>Mise: mise lock
    Mise->>Lock: Refresh both entries
    Lock->>Lock: Prune old versions
    Lock-->>Mise: Fixed-point lockfile

    Note over Mise,Lock: CI with --locked
    Mise->>Lock: Verify checksums
    alt Mismatch
        Mise-->>Dev: Exit 1 (lock drift)
    else Match
        Mise-->>Dev: Exit 0
    end
Loading

Turn on auto-fix | Re-trigger cubic

@amondnet
amondnet merged commit e877431 into main Nov 8, 2026
12 checks passed
@amondnet
amondnet deleted the amondnet/138-mise-macos-x64-lock branch November 8, 2026 20:41
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.

build: keep mise.macos-x64.lock in sync when mr-boxington is bumped

1 participant