Skip to content

Bootstrap mise on Ubuntu when the manifest opts in #1387

Description

@codeforester

Problem

Ubuntu/Debian setup now reaches project delegates beyond Brewfile and Python runtime setup, but projects that declare mise: .mise.toml still fail with a manual "mise is required" error when mise is missing.

The Base manifest already declares that the project needs mise-managed tool versions, so Ubuntu setup should be able to reconcile that delegate instead of leaving contributors to install it by hand.

Desired behavior

  • basectl setup <project> --dry-run on Ubuntu/Debian should show the planned mise bootstrap when the project manifest declares mise: ....
  • basectl setup <project> --yes on Ubuntu/Debian should install or bootstrap mise when it is missing, then continue to the existing mise delegate.
  • basectl setup <project> without --yes should remain conservative before mutating the system/user toolchain.
  • Projects that do not declare a mise delegate should not install mise.
  • basectl check/doctor <project> should keep reporting missing mise, with recovery guidance that points back to the Base setup flow.

Notes

Observed on Ubuntu 24.04 ARM64 under Parallels:

  • basectl setup base-demo now creates the Python 3.13 project venv successfully
  • setup then fails at mise is required to install project tool versions from '/home/parallels/work/base-demo/.mise.toml'
  • base-demo declares mise: .mise.toml, so this should be manifest-driven and not inferred from unrelated files

Validation

  • focused Python tests for mise manifest setup behavior
  • focused BATS coverage for Ubuntu/Debian dry-run, --yes, and conservative non-yes behavior
  • docs/changelog update for Ubuntu contributor setup
  • full ./bin/base-test

Metadata

Metadata

Assignees

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

Status
Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions