Skip to content

docs: On Debian/Ubuntu, use extrepo for installing#10262

Merged
jdx merged 3 commits into
jdx:mainfrom
okulev:extrepo
Jun 7, 2026
Merged

docs: On Debian/Ubuntu, use extrepo for installing#10262
jdx merged 3 commits into
jdx:mainfrom
okulev:extrepo

Conversation

@okulev

@okulev okulev commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

Recently mise deb repository was added to Debian extrepo. This follow-up to #10248 proposes the following documentation changes:

  • For Debian and Ubuntu, show only installation with extrepo on Getting Started and Installing Mise pages.
  • Mise + Docker Cookbook starts with universal curl | sh installing but in the second example (for multi-user containers) shows alternative installing with extrepo.

Summary by CodeRabbit

  • Documentation
    • Simplified Debian/Ubuntu install flow to use an extrepo-based workflow.
    • Added an alternative install path for Debian 11+ and Ubuntu 22.04+, and adjusted PPA ordering for newer Ubuntu.
    • Updated Docker cookbook with an extrepo-based installation example and clarified limitations around version/path customization.

@coderabbitai

coderabbitai Bot commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 6e41332f-d54b-4bfb-a890-0e7eaecbad97

📥 Commits

Reviewing files that changed from the base of the PR and between 993475d and 0000f68.

📒 Files selected for processing (1)
  • docs/mise-cookbook/docker.md
✅ Files skipped from review due to trivial changes (1)
  • docs/mise-cookbook/docker.md

📝 Walkthrough

Walkthrough

Documentation across three guides introduces extrepo as a simplified Debian/Ubuntu installation method for mise. The getting-started and installing-mise guides replace manual keyring setup with extrepo enable mise commands for Debian 11+ and Ubuntu 22.04+. The Docker cookbook adds a practical example with explicit limitations on version pinning.

Changes

Extrepo Installation Documentation

Layer / File(s) Summary
Getting started and installation guides
docs/getting-started.md, docs/installing-mise.md
Debian/Ubuntu apt instructions now install and enable extrepo then run apt update. Ubuntu 26.04+ snippet adds jdxcode/mise PPA before updating; a new Debian 11+/Ubuntu 22.04+ path installs extrepo and enables the mise repo.
Docker cookbook example
docs/mise-cookbook/docker.md
Adds an extrepo-based Dockerfile snippet (installs and enables mise, removes extrepo, installs mise and build tooling) and notes that MISE_VERSION and MISE_INSTALL_PATH cannot be specified.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 I hopped through docs to make installs light,
extrepo enabled, apt updated just right.
Dockerfiles dance without curl’s old song,
mise hops in tidy and quick all along. 🥕

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'docs: On Debian/Ubuntu, use extrepo for installing' directly reflects the main change across all three modified documentation files, which consistently update Debian/Ubuntu installation instructions to use extrepo.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@greptile-apps

greptile-apps Bot commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR replaces the manual GPG key + apt sources setup for Debian/Ubuntu with an extrepo-based workflow across the getting started page, the installing page, and the Docker cookbook. The multi-user Docker example is updated to use a heredoc with extrepo, with a # syntax=docker/dockerfile:1 directive already included to satisfy the BuildKit requirement.

  • docs/getting-started.md and docs/installing-mise.md: four-command extrepo flow replaces the previous five-step manual keyring setup; installing-mise.md retains the PPA path for Ubuntu 26.04+ and adds extrepo as the option for Debian 11+ / Ubuntu 22.04+.
  • docs/mise-cookbook/docker.md: the multi-user container Dockerfile is rewritten with a heredoc that installs via extrepo, removes extrepo after enabling the repo, and includes a note that MISE_VERSION/MISE_INSTALL_PATH are not settable with this approach.

Confidence Score: 5/5

Documentation-only change with no runtime code; safe to merge.

All three changed files are Markdown documentation. The extrepo workflow is factually correct: extrepo enable writes a self-contained DEB822 sources file and copies the signing key into /var/lib/extrepo/keys/ at runtime, so removing the extrepo package afterward leaves apt configuration intact for the subsequent apt-get install mise. The BuildKit directive is present. No logic errors or broken instructions were found.

No files require special attention.

Important Files Changed

Filename Overview
docs/getting-started.md Simplified Debian/Ubuntu install block from manual GPG key setup to a 4-line extrepo workflow; no logic issues.
docs/installing-mise.md Restructured apt section: PPA for Ubuntu 26.04+, extrepo for Debian 11+/Ubuntu 22.04+; removed -y from apt update lines; clean editorial change.
docs/mise-cookbook/docker.md Replaced curl-based install in the multi-user container example with extrepo; adds BuildKit syntax directive and heredoc; apt-get install calls omit --no-install-recommends present in the original.

Reviews (3): Last reviewed commit: "Add Dockerfile syntax directive" | Re-trigger Greptile

Comment thread docs/getting-started.md
Comment thread docs/mise-cookbook/docker.md

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/getting-started.md`:
- Around line 54-56: Add an apt index refresh before installing extrepo: move or
insert a "sudo apt update" immediately before the "sudo apt install -y extrepo"
command so the package index is fresh when running the "sudo apt install -y
extrepo" step (ensure the sequence becomes "sudo apt update", "sudo apt install
-y extrepo", "sudo extrepo enable mise", "sudo apt update", "sudo apt install -y
mise").

In `@docs/installing-mise.md`:
- Around line 131-134: The install sequence runs sudo apt install -y extrepo
before refreshing APT indexes which can fail on clean/stale systems; update the
steps so you run sudo apt update (or sudo apt-get update) before installing
extrepo, then keep sudo extrepo enable mise, another sudo apt update -y, and
finally sudo apt install -y mise so packages are installed against a fresh
package index.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 37a3290e-780d-4343-baa4-2cc1951bd68f

📥 Commits

Reviewing files that changed from the base of the PR and between 9d8487f and ce617cc.

📒 Files selected for processing (3)
  • docs/getting-started.md
  • docs/installing-mise.md
  • docs/mise-cookbook/docker.md

Comment thread docs/getting-started.md
Comment on lines +54 to +56
sudo apt install -y extrepo
sudo extrepo enable mise
sudo apt update

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Add an apt index refresh before installing extrepo.

At Line 54, sudo apt install -y extrepo is executed before any apt update. On stale/fresh systems this can fail to locate extrepo. Add an update first in this block.

Proposed doc fix
 ```sh
+sudo apt update
 sudo apt install -y extrepo
 sudo extrepo enable mise
 sudo apt update
 sudo apt install -y mise
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @docs/getting-started.md around lines 54 - 56, Add an apt index refresh
before installing extrepo: move or insert a "sudo apt update" immediately before
the "sudo apt install -y extrepo" command so the package index is fresh when
running the "sudo apt install -y extrepo" step (ensure the sequence becomes
"sudo apt update", "sudo apt install -y extrepo", "sudo extrepo enable mise",
"sudo apt update", "sudo apt install -y mise").


</details>

<!-- fingerprinting:phantom:triton:hawk -->

<!-- cr-comment:v1:8de5bbf6543ae295e3c52ef9 -->

<!-- This is an auto-generated comment by CodeRabbit -->

Comment thread docs/installing-mise.md
Comment on lines +131 to 134
sudo apt install -y extrepo
sudo extrepo enable mise
sudo apt update -y
sudo apt install -y mise

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Fix apt command order for the extrepo flow.

At Line 131, the guide installs extrepo before refreshing apt indexes. This can break on clean/stale environments. Add sudo apt update before installing extrepo.

Proposed doc fix
 ```sh
+sudo apt update
 sudo apt install -y extrepo
 sudo extrepo enable mise
 sudo apt update -y
 sudo apt install -y mise
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @docs/installing-mise.md around lines 131 - 134, The install sequence runs
sudo apt install -y extrepo before refreshing APT indexes which can fail on
clean/stale systems; update the steps so you run sudo apt update (or sudo
apt-get update) before installing extrepo, then keep sudo extrepo enable mise,
another sudo apt update -y, and finally sudo apt install -y mise so packages are
installed against a fresh package index.


</details>

<!-- fingerprinting:phantom:triton:hawk -->

<!-- cr-comment:v1:27a0fac6bdd87137d6c6330c -->

<!-- This is an auto-generated comment by CodeRabbit -->

@jdx jdx merged commit 03e4c3d into jdx:main Jun 7, 2026
34 checks passed
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.

2 participants