fix(arch): use /etc/arch-release for distro detection instead of kernel version#413
Closed
briandunn wants to merge 4 commits into
Closed
fix(arch): use /etc/arch-release for distro detection instead of kernel version#413briandunn wants to merge 4 commits into
briandunn wants to merge 4 commits into
Conversation
…el version The Task `if:` field on a task reference doesn't reliably gate execution, causing arch tools to run on Debian/Ubuntu. Mirrors the pattern already used in debian:sync and checks /etc/arch-release (standard Arch file) instead of the fragile `uname -r | grep -q arch1` heuristic. Also excludes .claude/settings.local.json from dprint checks since it is gitignored and modified at runtime by the Claude Code harness. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
bat was only listed in the Arch pacman package list, leaving it absent on Debian/Ubuntu. The bat:sync task (bat cache --build) runs unconditionally and fails with "executable file not found" on any non-Arch Linux install. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Task subshells don't have mise shims in PATH, so bat installed by mise is invisible to a bare bat invocation. Using mise exec -- mirrors the pattern already used in the mise:tools:install task for other mise-managed tools. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The mise aqua backend downloads a bat binary that fails to execute on this system (ELF interpreter mismatch). bat is now installed by the platform package manager: apt on Debian/Ubuntu, Homebrew on macOS. bat was already in the Arch pacman list. Reverts the mise exec workaround in bat:sync. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Setup was crashing because it thought my ubuntu box should have the
pacmanbinary. 🤷LMK if you don't want the dprint change I'lll pull it out. not sure I'm clauding as intended in this repo.
Summary
arch:synctask was running on Debian/Ubuntu because Task'sif:field on a task reference doesn't reliably gate executionuname -r | grep -q arch1kernel-version heuristic with a check for/etc/arch-release, which is the standard file Arch Linux always provides and Debian/Ubuntu never willif-in-cmd:pattern already used bydebian:sync.claude/settings.local.jsonfrom dprint formatting checks (it's gitignored and modified at runtime by the Claude Code harness, causing pre-commit hook failures)Test plan
setup.shon a Debian/Ubuntu system —arch:syncshould complete silently without attempting to invokepacmansetup.shon an Arch Linux system —pacmanandyayinstalls should still execute as before🤖 Generated with Claude Code