Skip to content

Document mise, add tooling-agnostic toolchain check (closes #67)#68

Closed
dominicletz wants to merge 4 commits intomainfrom
cursor/assigned-issue-solution-ae58
Closed

Document mise, add tooling-agnostic toolchain check (closes #67)#68
dominicletz wants to merge 4 commits intomainfrom
cursor/assigned-issue-solution-ae58

Conversation

@dominicletz
Copy link
Copy Markdown
Collaborator

Summary

This change addresses issue #67 by decoupling developer guidance and automation from asdf-only assumptions.

Documentation

  • Linux getting started now treats mise and asdf equally for .tool-versions, with copy-paste examples for both.
  • Notes that shell wrappers (e.g. Android run_mix) should not hard-code asdf paths; use mise exec -- or asdf exec so the same version file drives the runtime.
  • README briefly points readers at .tool-versions and the new Mix task.

mix desktop.check_toolchain

Compares the already active Erlang/OTP major and Elixir semver from System.otp_release/0 and System.version/0 to erlang / elixir lines in .tool-versions. It does not shell out to mise or asdf, so CI and scripts stay portable: activate the runtime however you prefer, then run the task to fail fast with an actionable message.

Tests

Desktop.ToolVersions parsing (including the erlang … system line format) and Desktop.Toolchain.verify/2 are covered by ExUnit tests under test/desktop/.

Closes #67.

Open in Web Open in Cursor 

cursoragent and others added 2 commits April 30, 2026 13:15
Introduce Desktop.ToolVersions and Desktop.Toolchain to compare the
active OTP major and Elixir release against .tool-versions without
invoking asdf or mise, so CI and shell wrappers can fail fast with a
clear message.

Co-authored-by: Dominic Letz <dominicletz@users.noreply.github.com>
Update Linux getting started to cover mise and asdf equally, point
README readers at .tool-versions and mix desktop.check_toolchain, and
note wrapper scripts should use mise exec or asdf exec rather than
asdf-only paths.

Co-authored-by: Dominic Letz <dominicletz@users.noreply.github.com>
@dominicletz dominicletz added the cursor-waiting Cursor issue-workflow (cursor-automation.com) label Apr 30, 2026 — with Cursor
@cursor-automation
Copy link
Copy Markdown

@gemini review this PR

@cursor-automation cursor-automation Bot added cursor-waiting-for-ci Cursor issue-workflow (cursor-automation.com) and removed cursor-waiting Cursor issue-workflow (cursor-automation.com) labels Apr 30, 2026
cursoragent and others added 2 commits April 30, 2026 14:19
ExUnit only injects context.tmp_dir when :tmp_dir is tagged; add @moduletag
so Desktop.ToolchainTest setup runs.

Stop mapping all File.read failures to :enoent; surface real I/O errors via
Desktop.Toolchain.verify with a clear message for the Mix task.

Co-authored-by: Dominic Letz <dominicletz@users.noreply.github.com>
The Mix task should not suggest mise/asdf when failure is an I/O error
from File.read. Document read failures in Toolchain.verify/2 and add a
regression test using a directory named .tool-versions.

Co-authored-by: Dominic Letz <dominicletz@users.noreply.github.com>
@cursor-automation cursor-automation Bot added cursor-ignore Cursor issue-workflow (cursor-automation.com) and removed cursor-waiting-for-ci Cursor issue-workflow (cursor-automation.com) labels May 1, 2026
@dominicletz dominicletz closed this May 1, 2026
@dominicletz dominicletz removed the cursor-ignore Cursor issue-workflow (cursor-automation.com) label May 1, 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.

Document "mise" usage, decouple from asdf

2 participants