Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

uv: unrecognized subcommand 'self' #942

Closed
2 of 6 tasks
paddyroddy opened this issue Oct 12, 2024 · 11 comments
Closed
2 of 6 tasks

uv: unrecognized subcommand 'self' #942

paddyroddy opened this issue Oct 12, 2024 · 11 comments
Labels
C-bug Something isn't working

Comments

@paddyroddy
Copy link
Contributor

Erroneous Behavior

It's trying to update uv with self update

Expected Behavior

Update uv

Steps to reproduce

topgrade run uv

Possible Cause (Optional)

I don't believe self is an option for uv

Problem persists without calling from topgrade

  • Yes
  • No

Did you run topgrade through Remote Execution

  • Yes
  • No

If yes, does the issue still occur when you run topgrade directlly in your
remote host

  • Yes
  • No

Configuration file (Optional)

[brew]
# greedy_cask = true
autoremove = true

[misc]
# Don't ask for confirmations (no default value)
assume_yes = true
# Cleanup temporary or old files (default: false)
cleanup = true
# Disable specific steps - same options as the command line flag
disable = [
    "containers",
]
# Skip sending a notification at the end of a run (default: false)
skip_notify = true

[vim]
# For `vim-plug`, execute `PlugUpdate!` instead of `PlugUpdate`
force_plug_update = true

Additional Details

  • Operation System/Version:

macOS 15.0.1

  • Installation

homebrew

  • Topgrade version (topgrade -V)
    topgrade 16.0.1

Verbose Output (topgrade -v)

DEBUG Current system locale is en-GB
DEBUG Configuration at /Users/paddy/.config/topgrade.toml
DEBUG Loaded configuration: ConfigFile { include: None, misc: Some(Misc { pre_sudo: None, sudo_command: None, disable: Some([Containers]), ignore_failures: None, remote_topgrades: None, remote_topgrade_path: None, ssh_arguments: None, tmux_arguments: None, set_title: None, display_time: None, assume_yes: Some(true), no_retry: None, run_in_tmux: None, tmux_session_mode: None, cleanup: Some(true), notify_each_step: None, skip_notify: Some(true), bashit_branch: None, only: None, no_self_update: None, log_filters: None }), pre_commands: None, post_commands: None, commands: None, python: None, composer: None, brew: Some(Brew { greedy_cask: None, greedy_latest: None, greedy_auto_updates: None, autoremove: Some(true), fetch_head: None }), linux: None, git: None, containers: None, windows: None, npm: None, yarn: None, vim: Some(Vim { force_plug_update: Some(true) }), firmware: None, vagrant: None, flatpak: None, distrobox: None, lensfun: None }
DEBUG Version: 16.0.1
DEBUG OS: aarch64-apple-darwin
DEBUG Args { inner: ["topgrade", "-v"] }
DEBUG Binary path: Ok("/opt/homebrew/bin/topgrade")
DEBUG self-update Feature Enabled: false
DEBUG Configuration: Config { opt: CommandLineArgs { edit_config: false, show_config_reference: false, run_in_tmux: false, cleanup: false, dry_run: false, no_retry: false, disable: [], only: [], custom_commands: [], env: [], verbose: true, keep_at_end: false, skip_notify: false, yes: None, disable_predefined_git_repos: false, config: None, remote_host_limit: None, show_skipped: false, log_filter: "warn", gen_completion: None, gen_manpage: false, no_self_update: false }, config_file: ConfigFile { include: None, misc: Some(Misc { pre_sudo: None, sudo_command: None, disable: Some([Containers]), ignore_failures: None, remote_topgrades: None, remote_topgrade_path: None, ssh_arguments: None, tmux_arguments: None, set_title: None, display_time: None, assume_yes: Some(true), no_retry: None, run_in_tmux: None, tmux_session_mode: None, cleanup: Some(true), notify_each_step: None, skip_notify: Some(true), bashit_branch: None, only: None, no_self_update: None, log_filters: None }), pre_commands: None, post_commands: None, commands: None, python: None, composer: None, brew: Some(Brew { greedy_cask: None, greedy_latest: None, greedy_auto_updates: None, autoremove: Some(true), fetch_head: None }), linux: None, git: None, containers: None, windows: None, npm: None, yarn: None, vim: Some(Vim { force_plug_update: Some(true) }), firmware: None, vagrant: None, flatpak: None, distrobox: None, lensfun: None }, allowed_steps: [AM, AppMan, Asdf, Atom, Aqua, Audit, AutoCpufreq, Bin, Bob, BrewCask, BrewFormula, Bun, BunPackages, Cargo, Certbot, Chezmoi, Chocolatey, Choosenim, ClamAvDb, Composer, Conda, ConfigUpdate, CustomCommands, DebGet, Deno, Distrobox, DkpPacman, Dotnet, Elan, Emacs, Firmware, Flatpak, Flutter, Fossil, Gcloud, Gem, Ghcup, GithubCliExtensions, GitRepos, GnomeShellExtensions, Go, Guix, Haxelib, Helm, HomeManager, Jetpack, Julia, Juliaup, Kakoune, Helix, Krew, Lure, Lensfun, Macports, Mamba, Miktex, Mas, Maza, Micro, Mise, Myrepos, Nix, Node, Opam, Pacdef, Pacstall, Pearl, Pip3, PipReview, PipReviewLocal, Pipupgrade, Pipx, Pixi, Pkg, Pkgin, PlatformioCore, Pnpm, Poetry, Powershell, Protonup, Pyenv, Raco, Rcm, Remotes, Restarts, Rtcl, RubyGems, Rustup, Rye, Scoop, Sdkman, SelfUpdate, Sheldon, Shell, Snap, Sparkle, Spicetify, Stack, Stew, System, Tldr, Tlmgr, Tmux, Toolbx, Uv, Vagrant, Vcpkg, Vim, VoltaPackages, Vscode, Waydroid, Winget, Wsl, WslUpdate, Xcodes, Yadm, Yarn, Zvm] }
DEBUG Cannot find "pwsh"
DEBUG Cannot find "powershell"
DEBUG Path "/Users/paddy/.config/emacs" doesn't exist
DEBUG Path "/Users/paddy/.emacs.d" doesn't exist
DEBUG Cannot find "doas"
DEBUG Detected "/usr/bin/sudo" as "sudo"
DEBUG Step "Brew (ARM)"
DEBUG Detected "/opt/homebrew/bin/brew" as "/opt/homebrew/bin/brew"

── 10:59:40 - Brew ─────────────────────────────────────────────────────────────
DEBUG Executing command /opt/homebrew/bin/brew update
==> Updating Homebrew...
Already up-to-date.
DEBUG Executing command /opt/homebrew/bin/brew upgrade --formula
DEBUG Executing command /opt/homebrew/bin/brew cleanup
DEBUG Executing command /opt/homebrew/bin/brew autoremove
DEBUG Step "Brew (Intel)"
DEBUG Step "Brew"
DEBUG Detected "/opt/homebrew/bin/brew" as "brew"
DEBUG Step "Brew Cask (ARM)"
DEBUG Detected "/opt/homebrew/bin/brew" as "/opt/homebrew/bin/brew"

── 10:59:54 - Brew - Cask ──────────────────────────────────────────────────────
DEBUG Executing command /opt/homebrew/bin/brew --repository buo/cask-upgrade
DEBUG Executing command /opt/homebrew/bin/brew upgrade --cask
DEBUG Executing command /opt/homebrew/bin/brew cleanup
DEBUG Step "Brew Cask (Intel)"
DEBUG Step "Brew Cask"
DEBUG Detected "/opt/homebrew/bin/brew" as "brew"
DEBUG Step "MacPorts"
DEBUG Step "Xcodes"
DEBUG Step "Sparkle"
DEBUG Step "App Store"
DEBUG Detected "/opt/homebrew/bin/mas" as "mas"

── 11:00:03 - macOS App Store ──────────────────────────────────────────────────
DEBUG Executing command /opt/homebrew/bin/mas upgrade
Warning: Nothing found to upgrade
DEBUG Step "System upgrade"

── 11:00:03 - macOS system update ──────────────────────────────────────────────
DEBUG Executing command softwareupdate --install --all
Software Update Tool

Finding available software
No updates are available.
DEBUG Step "yadm"
DEBUG Detected "/opt/homebrew/bin/yadm" as "yadm"

── 11:00:11 - yadm ─────────────────────────────────────────────────────────────
DEBUG Executing command /opt/homebrew/bin/yadm pull
Fetching submodule .config/alacritty-theme
Fetching submodule .config/tmux
Already up to date.
DEBUG Step "nix"
DEBUG Step "nix upgrade-nix"
DEBUG Step "guix"
DEBUG Step "home-manager"
DEBUG Step "asdf"
DEBUG Step "mise"
DEBUG Detected "/opt/homebrew/bin/mise" as "mise"

── 11:00:15 - mise ─────────────────────────────────────────────────────────────
DEBUG Executing command /opt/homebrew/bin/mise upgrade
mise All tools are up to date
DEBUG Executing command /opt/homebrew/bin/mise plugins update
mise plugin:usage ✓ https://github.com/jdx/mise-usage.git#fe3888a
mise plugin:maven ✓ https://github.com/halcyon/asdf-maven.git#83fb4db DEBUG Step "pkgin"
DEBUG Step "bun-packages"
DEBUG Step "zr"
DEBUG Detected "/opt/homebrew/bin/zsh" as "zsh"
DEBUG Step "antibody"
DEBUG Detected "/opt/homebrew/bin/zsh" as "zsh"
DEBUG Step "antidote"
DEBUG Detected "/opt/homebrew/bin/zsh" as "zsh"
DEBUG Step "antigen"
DEBUG Detected "/opt/homebrew/bin/zsh" as "zsh"
DEBUG Path "/Users/paddy/.zshrc" exists
DEBUG Step "zgenom"
DEBUG Detected "/opt/homebrew/bin/zsh" as "zsh"
DEBUG Path "/Users/paddy/.zshrc" exists
DEBUG Step "zplug"
DEBUG Detected "/opt/homebrew/bin/zsh" as "zsh"
DEBUG Path "/Users/paddy/.zshrc" exists
DEBUG Step "zinit"
DEBUG Detected "/opt/homebrew/bin/zsh" as "zsh"
DEBUG Path "/Users/paddy/.zshrc" exists
DEBUG Step "zi"
DEBUG Detected "/opt/homebrew/bin/zsh" as "zsh"
DEBUG Path "/Users/paddy/.zshrc" exists
DEBUG Step "zim"
DEBUG Detected "/opt/homebrew/bin/zsh" as "zsh"
DEBUG Executing command zsh -c '[[ -n ${ZIM_HOME} ]] && print -n ${ZIM_HOME}'
DEBUG Command failed: Err(
0: Command failed: zsh -c '[[ -n ${ZIM_HOME} ]] && print -n ${ZIM_HOME}'
1: zsh failed: exit status: 1 with

Location:
src/steps/zsh.rs:153)
DEBUG Step "oh-my-zsh"
DEBUG Detected "/opt/homebrew/bin/zsh" as "zsh"
DEBUG Path "/Users/paddy/.oh-my-zsh" exists

── 11:00:16 - oh-my-zsh ────────────────────────────────────────────────────────
DEBUG Executing command zsh -c 'test $ZSH_CUSTOM && echo -n $ZSH_CUSTOM'
DEBUG Command failed: Err(
0: Command failed: zsh -c 'test $ZSH_CUSTOM && echo -n $ZSH_CUSTOM'
1: zsh failed: exit status: 1 with

Location:
src/steps/zsh.rs:206)
DEBUG Running zsh returned Command failed: zsh -c 'test $ZSH_CUSTOM && echo -n $ZSH_CUSTOM'. Using default path: /Users/paddy/.oh-my-zsh/custom
DEBUG oh-my-zsh custom dir: /Users/paddy/.oh-my-zsh/custom
DEBUG Detected "/opt/homebrew/bin/git" as "git"
DEBUG Checking if /Users/paddy/.oh-my-zsh/custom is a git repository
DEBUG Executing command /opt/homebrew/bin/git rev-parse --show-toplevel
DEBUG Checking if /Users/paddy/.oh-my-zsh/custom/plugins is a git repository
DEBUG Executing command /opt/homebrew/bin/git rev-parse --show-toplevel
DEBUG Checking if /Users/paddy/.oh-my-zsh/custom/plugins/zsh-autosuggestions is a git repository
DEBUG Executing command /opt/homebrew/bin/git rev-parse --show-toplevel
DEBUG Checking if /Users/paddy/.oh-my-zsh/custom/plugins/zsh-autocomplete is a git repository
DEBUG Executing command /opt/homebrew/bin/git rev-parse --show-toplevel
DEBUG Checking if /Users/paddy/.oh-my-zsh/custom/plugins/example is a git repository
DEBUG Executing command /opt/homebrew/bin/git rev-parse --show-toplevel
DEBUG Checking if /Users/paddy/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting is a git repository
DEBUG Executing command /opt/homebrew/bin/git rev-parse --show-toplevel
DEBUG /Users/paddy/.oh-my-zsh/custom/example.zsh is a file. Checking /Users/paddy/.oh-my-zsh/custom
DEBUG Checking if /Users/paddy/.oh-my-zsh/custom is a git repository
DEBUG Executing command /opt/homebrew/bin/git rev-parse --show-toplevel
DEBUG Checking if /Users/paddy/.oh-my-zsh/custom/themes is a git repository
DEBUG Executing command /opt/homebrew/bin/git rev-parse --show-toplevel
DEBUG /Users/paddy/.oh-my-zsh/custom/themes/example.zsh-theme is a file. Checking /Users/paddy/.oh-my-zsh/custom/themes
DEBUG Checking if /Users/paddy/.oh-my-zsh/custom/themes is a git repository
DEBUG Executing command /opt/homebrew/bin/git rev-parse --show-toplevel
DEBUG Executing command zsh /Users/paddy/.oh-my-zsh/tools/upgrade.sh
Updating Oh My Zsh
__ __
____ / /_ ____ ___ __ __ ____ / /
/ __ / __ \ / __ `
/ / / / /
/ / / __
/ /
/ / / / / / / / / / / /
/ / / /
(
_ ) / / /
_// // // // //_, / //// //
/____/

Oh My Zsh is already at the latest version.

To keep up with the latest news and updates, follow us on X: https://x.com/ohmyzsh
Want to get involved in the community? Join our Discord: https://discord.gg/ohmyzsh
Get your Oh My Zsh swag at: https://shop.planetargon.com/collections/oh-my-zsh
DEBUG Step "oh-my-bash"
DEBUG Detected "/opt/homebrew/bin/bash" as "bash"
DEBUG Step "fisher"
DEBUG Step "bash-it"
DEBUG Step "oh-my-fish"
DEBUG Step "fish-plug"
DEBUG Step "fundle"
DEBUG Step "tmux"
DEBUG Step "TLDR"
DEBUG Detected "/opt/homebrew/bin/tldr" as "tldr"

── 11:00:17 - TLDR ─────────────────────────────────────────────────────────────
DEBUG Executing command /opt/homebrew/bin/tldr --update
Successfully updated local database
DEBUG Step "pearl"
DEBUG Step "pyenv"
DEBUG Step "SDKMAN!"
DEBUG Detected "/opt/homebrew/bin/bash" as "bash"
DEBUG Step "rcm"
DEBUG Step "maza"
DEBUG Step "apm"
DEBUG Step "fossil"
DEBUG Step "elan"
DEBUG Step "rye"
DEBUG Step "rustup"
DEBUG Detected "/Users/paddy/.cargo/bin/rustup" as "rustup"

── 11:00:21 - rustup ───────────────────────────────────────────────────────────
DEBUG Executing command /Users/paddy/.cargo/bin/rustup update
info: syncing channel updates for 'stable-aarch64-apple-darwin'

stable-aarch64-apple-darwin unchanged - rustc 1.81.0 (eeb90cda1 2024-09-04)

info: cleaning up downloads & tmp directories
info: self-update is disabled for this build of rustup
info: any updates to rustup will need to be fetched with your system package manager
DEBUG Step "juliaup"
DEBUG Step ".NET"
DEBUG Step "choosenim"
DEBUG Step "cargo"
DEBUG Path "/Users/paddy/.cargo" exists
DEBUG Detected "/Users/paddy/.cargo/bin/cargo" as "cargo"
DEBUG Step "Flutter"
DEBUG Step "go-global-update"
DEBUG Step "gup"
DEBUG Step "Emacs"
DEBUG Step "opam"
DEBUG Step "vcpkg"
DEBUG Step "pipx"
DEBUG Step "Visual Studio Code extensions"
DEBUG Detected "/opt/homebrew/bin/code" as "code"
DEBUG Executing command /opt/homebrew/bin/code --version

── 11:00:22 - Visual Studio Code extensions ────────────────────────────────────
DEBUG Executing command /opt/homebrew/bin/code --update-extensions
No extension to update
DEBUG Step "conda"
DEBUG Step "mamba"
DEBUG Step "pixi"
DEBUG Step "miktex"
DEBUG Step "pip3"
DEBUG Detected "/opt/homebrew/bin/python" as "python"
DEBUG Executing command /opt/homebrew/bin/python -V
DEBUG Detected "/opt/homebrew/bin/python3" as "python3"
DEBUG Executing command /opt/homebrew/bin/python3 -V
DEBUG Executing command /opt/homebrew/bin/python -m pip
DEBUG Executing command /opt/homebrew/bin/python -c 'import sysconfig; from os import path; print('\''Y'\'') if path.isfile(path.join(sysconfig.get_path('\''stdlib'\''), '\''EXTERNALLY-MANAGED'\'')) else print('\''N'\'')'
DEBUG Executing command /opt/homebrew/bin/python -m pip config get global.break-system-packages
DEBUG Command failed: Err(
0: Command failed: /opt/homebrew/bin/python -m pip config get global.break-system-packages

  Stderr:
  ERROR: No such key - global.break-system-packages

1: /opt/homebrew/bin/python failed: exit status: 1 with ERROR: No such key - global.break-system-packages
1:

Location:
src/steps/generic.rs:512)
DEBUG pip3 externally managed: true
DEBUG pip3 global.break-system-packages: false
DEBUG Step "pip-review"
DEBUG Step "pip-review (local)"
DEBUG Step "pipupgrade"
DEBUG Step "ghcup"
DEBUG Step "stack"
DEBUG Step "tlmgr"
DEBUG Detected "/Users/paddy/texlive/2024/bin/universal-darwin/tlmgr" as "tlmgr"
DEBUG Detected "/Users/paddy/texlive/2024/bin/universal-darwin/kpsewhich" as "kpsewhich"
DEBUG Executing command /Users/paddy/texlive/2024/bin/universal-darwin/kpsewhich '-var-value=SELFAUTOPARENT'
DEBUG Path "/Users/paddy/texlive/2024/tlpkg" exists
DEBUG "/Users/paddy/texlive/2024/tlpkg" writable: true

── 11:00:26 - TeX Live package manager ─────────────────────────────────────────
DEBUG Executing command /Users/paddy/texlive/2024/bin/universal-darwin/tlmgr update --self --all
tlmgr: package repository https://mirror.ox.ac.uk/sites/ctan.org/systems/texlive/tlnet (verified)
tlmgr: saving backups to /Users/paddy/texlive/2024/tlpkg/backups
tlmgr: no self-updates for tlmgr available
tlmgr: no updates available
DEBUG Step "myrepos"
DEBUG Step "chezmoi"
DEBUG Step "jetpack"
DEBUG Step "vim"
DEBUG Detected "/usr/bin/vim" as "vim"
DEBUG Executing command /usr/bin/vim --version
DEBUG Step "Neovim"
DEBUG Detected "/opt/homebrew/bin/nvim" as "nvim"
DEBUG Path "/Users/paddy/.config/nvim/init.vim" exists

── 11:00:28 - Neovim ───────────────────────────────────────────────────────────
DEBUG Wrote vim script to "/var/folders/19/h6m4mbcx7rv1yg8w3nwzrnmm0000gn/T/.tmpiIxl41"
DEBUG Executing command /opt/homebrew/bin/nvim -u /Users/paddy/.config/nvim/init.vim --headless -V1 -nS /var/folders/19/h6m4mbcx7rv1yg8w3nwzrnmm0000gn/T/.tmpiIxl41
Plug
Downloading the latest version of vim-plugvim-plug is already up-to-datePlugins upgraded
DEBUG Step "The Ultimate vimrc"
DEBUG Step "voom"
DEBUG Step "Kakoune"
DEBUG Step "helix"
DEBUG Step "npm"
DEBUG Step "yarn"
DEBUG Step "pnpm"
DEBUG Step "volta packages"
DEBUG Step "deno"
DEBUG Step "composer"
DEBUG Step "krew"
DEBUG Step "helm"
DEBUG Step "gem"
DEBUG Detected "/Users/paddy/.local/share/mise/installs/ruby/3.3.4/bin/gem" as "gem"
DEBUG Path "/Users/paddy/.gem" exists

── 11:00:30 - Gems ─────────────────────────────────────────────────────────────
DEBUG Detected rbenv. Avoiding --user-install
DEBUG Executing command /Users/paddy/.local/share/mise/installs/ruby/3.3.4/bin/gem update --user-install
Updating installed gems
Nothing to update
DEBUG Step "rubygems"
DEBUG Path "/Users/paddy/.gem" exists
DEBUG Detected "/Users/paddy/.local/share/mise/installs/ruby/3.3.4/bin/gem" as "gem"

── 11:00:36 - RubyGems ─────────────────────────────────────────────────────────
DEBUG Executing command /Users/paddy/.local/share/mise/installs/ruby/3.3.4/bin/gem update --system
Latest version already installed. Done.
DEBUG Step "julia"
DEBUG Step "haxelib"
DEBUG Step "sheldon"
DEBUG Step "stew"
DEBUG Step "rtcl"
DEBUG Step "bin"
DEBUG Step "gcloud"
DEBUG Step "micro"
DEBUG Step "raco"
DEBUG Step "spicetify"
DEBUG Step "GitHub CLI Extensions"
DEBUG Detected "/opt/homebrew/bin/gh" as "gh"
DEBUG Executing command /opt/homebrew/bin/gh extensions list

── 11:00:43 - GitHub CLI Extensions ────────────────────────────────────────────
DEBUG Executing command /opt/homebrew/bin/gh extension upgrade --all
no installed extensions found
DEBUG Step "Bob"
DEBUG Step "Certbot"
DEBUG Step "Git Repositories"
DEBUG Detected "/opt/homebrew/bin/git" as "git"
DEBUG Path "/Users/paddy/.config/emacs" doesn't exist
DEBUG Path "/Users/paddy/.emacs.d" doesn't exist
DEBUG /Users/paddy/.doom.d does not exist
DEBUG Checking if /Users/paddy/.vim is a git repository
DEBUG Executing command /opt/homebrew/bin/git rev-parse --show-toplevel
DEBUG Command failed: Err(
0: Command failed: /opt/homebrew/bin/git rev-parse --show-toplevel

  Stderr:
  fatal: not a git repository (or any of the parent directories): .git

1: /opt/homebrew/bin/git failed: exit status: 128 with fatal: not a git repository (or any of the parent directories): .git
1:

Location:
src/steps/git.rs:203)
DEBUG Checking if /Users/paddy/.config/nvim is a git repository
DEBUG Executing command /opt/homebrew/bin/git rev-parse --show-toplevel
DEBUG Command failed: Err(
0: Command failed: /opt/homebrew/bin/git rev-parse --show-toplevel

  Stderr:
  fatal: not a git repository (or any of the parent directories): .git

1: /opt/homebrew/bin/git failed: exit status: 128 with fatal: not a git repository (or any of the parent directories): .git
1:

Location:
src/steps/git.rs:203)
DEBUG /Users/paddy/.ideavimrc does not exist
DEBUG /Users/paddy/.intellimacs does not exist
DEBUG /Users/paddy/.dotfiles does not exist
DEBUG Cannot find "pwsh"
DEBUG Cannot find "powershell"
DEBUG /Users/paddy/.zshrc is a file. Checking /Users/paddy
DEBUG Checking if /Users/paddy is a git repository
DEBUG Executing command /opt/homebrew/bin/git rev-parse --show-toplevel
DEBUG Command failed: Err(
0: Command failed: /opt/homebrew/bin/git rev-parse --show-toplevel

  Stderr:
  fatal: not a git repository (or any of the parent directories): .git

1: /opt/homebrew/bin/git failed: exit status: 128 with fatal: not a git repository (or any of the parent directories): .git
1:

Location:
src/steps/git.rs:203)
DEBUG /Users/paddy/.tmux does not exist
DEBUG Checking if /Users/paddy/.config/fish is a git repository
DEBUG Executing command /opt/homebrew/bin/git rev-parse --show-toplevel
DEBUG Command failed: Err(
0: Command failed: /opt/homebrew/bin/git rev-parse --show-toplevel

  Stderr:
  fatal: not a git repository (or any of the parent directories): .git

1: /opt/homebrew/bin/git failed: exit status: 128 with fatal: not a git repository (or any of the parent directories): .git
1:

Location:
src/steps/git.rs:203)
DEBUG /Users/paddy/.config/openbox does not exist
DEBUG /Users/paddy/.config/bspwm does not exist
DEBUG /Users/paddy/.config/i3 does not exist
DEBUG /Users/paddy/.config/sway does not exist
DEBUG Step "ClamAV Databases"
DEBUG Step "PlatformIO Core"
DEBUG Step "Lensfun's database update"
DEBUG Step "Poetry"
DEBUG Step "uv"
DEBUG Detected "/opt/homebrew/bin/uv" as "uv"

── 11:00:43 - uv ───────────────────────────────────────────────────────────────
DEBUG Executing command /opt/homebrew/bin/uv self update
error: unrecognized subcommand 'self'

Usage: uv [OPTIONS]

For more information, try '--help'.
DEBUG Command failed: Err(
0: Command failed: /opt/homebrew/bin/uv self update
1: /opt/homebrew/bin/uv failed: exit status: 2

Location:
src/steps/generic.rs:1038)
DEBUG Executing command /opt/homebrew/bin/uv tool upgrade --all
Nothing to upgrade
DEBUG Step "ZVM"
DEBUG Step "aqua"
DEBUG Step "bun"
DEBUG Step "Vagrant boxes"

── 11:00:43 - Summary ──────────────────────────────────────────────────────────
Brew (ARM): OK
Brew (Intel): SKIPPED: Cannot find "/usr/local/bin/brew" in PATH
Brew: SKIPPED: Not a custom brew for macOS
Brew Cask (ARM): OK
Brew Cask (Intel): SKIPPED: Cannot find "/usr/local/bin/brew" in PATH
Brew Cask: SKIPPED: Not a custom brew for macOS
MacPorts: SKIPPED: Cannot find "port" in PATH
Xcodes: SKIPPED: Cannot find "xcodes" in PATH
Sparkle: SKIPPED: Cannot find "sparkle" in PATH
App Store: OK
System upgrade: OK
yadm: OK
nix: SKIPPED: Cannot find "nix" in PATH
nix upgrade-nix: SKIPPED: Cannot find "nix" in PATH
guix: SKIPPED: Cannot find "guix" in PATH
home-manager: SKIPPED: Cannot find "home-manager" in PATH
asdf: SKIPPED: Cannot find "asdf" in PATH
mise: OK
pkgin: SKIPPED: Cannot find "pkgin" in PATH
bun-packages: SKIPPED: Cannot find "bun" in PATH
zr: SKIPPED: Cannot find "zr" in PATH
antibody: SKIPPED: Cannot find "antibody" in PATH
antidote: SKIPPED: Path "/Users/paddy/.antidote" doesn't exist
antigen: SKIPPED: Path "/Users/paddy/antigen.zsh" doesn't exist
zgenom: SKIPPED: Path "/Users/paddy/.zgenom" doesn't exist
zplug: SKIPPED: Path "/Users/paddy/.zplug" doesn't exist
zinit: SKIPPED: Path "/Users/paddy/.local/share/zinit" doesn't exist
zi: SKIPPED: Path "/Users/paddy/.zi" doesn't exist
zim: SKIPPED: Path "/Users/paddy/.zim" doesn't exist
oh-my-zsh: OK
oh-my-bash: SKIPPED: Path "/Users/paddy/.oh-my-bash" doesn't exist
fisher: SKIPPED: Cannot find "fish" in PATH
bash-it: SKIPPED: Path "/Users/paddy/.bash_it" doesn't exist
oh-my-fish: SKIPPED: Cannot find "fish" in PATH
fish-plug: SKIPPED: Cannot find "fish" in PATH
fundle: SKIPPED: Cannot find "fish" in PATH
tmux: SKIPPED: Path "/Users/paddy/.tmux/plugins/tpm/bin/update_plugins" doesn't exist
TLDR: OK
pearl: SKIPPED: Cannot find "pearl" in PATH
pyenv: SKIPPED: Cannot find "pyenv" in PATH
SDKMAN!: SKIPPED: Path "/Users/paddy/.sdkman/bin/sdkman-init.sh" doesn't exist
rcm: SKIPPED: Cannot find "rcup" in PATH
maza: SKIPPED: Cannot find "maza" in PATH
apm: SKIPPED: Cannot find "apm" in PATH
fossil: SKIPPED: Cannot find "fossil" in PATH
elan: SKIPPED: Cannot find "elan" in PATH
rye: SKIPPED: Cannot find "rye" in PATH
rustup: OK
juliaup: SKIPPED: Cannot find "juliaup" in PATH
.NET: SKIPPED: Cannot find "dotnet" in PATH
choosenim: SKIPPED: Cannot find "choosenim" in PATH
cargo: SKIPPED: Path "/Users/paddy/.cargo/.crates.toml" doesn't exist
Flutter: SKIPPED: Cannot find "flutter" in PATH
go-global-update: SKIPPED: Cannot find "go" in PATH
gup: SKIPPED: Cannot find "go" in PATH
Emacs: SKIPPED: Cannot find "emacs" in PATH
opam: SKIPPED: Cannot find "opam" in PATH
vcpkg: SKIPPED: Cannot find "vcpkg" in PATH
pipx: SKIPPED: Cannot find "pipx" in PATH
Visual Studio Code extensions: OK
conda: SKIPPED: Cannot find "conda" in PATH
mamba: SKIPPED: Cannot find "mamba" in PATH
pixi: SKIPPED: Cannot find "pixi" in PATH
miktex: SKIPPED: Cannot find "miktex" in PATH
pip3: SKIPPED: Skip pip3 update as it is externally managed and global.break-system-packages is not true
pip-review: SKIPPED: Cannot find "pip-review" in PATH
pip-review (local): SKIPPED: Cannot find "pip-review" in PATH
pipupgrade: SKIPPED: Cannot find "pipupgrade" in PATH
ghcup: SKIPPED: Cannot find "ghcup" in PATH
stack: SKIPPED: Cannot find "stack" in PATH
tlmgr: OK
myrepos: SKIPPED: Cannot find "mr" in PATH
chezmoi: SKIPPED: Cannot find "chezmoi" in PATH
jetpack: SKIPPED: Cannot find "jetpack" in PATH
vim: SKIPPED: Path "/Users/paddy/.vim/vimrc" doesn't exist
Neovim: OK
The Ultimate vimrc: SKIPPED: Path "/Users/paddy/.vim_runtime" doesn't exist
voom: SKIPPED: Cannot find "voom" in PATH
Kakoune: SKIPPED: Cannot find "kak" in PATH
helix: SKIPPED: Cannot find "hx" in PATH
npm: SKIPPED: Cannot find "npm" in PATH
yarn: SKIPPED: Cannot find "yarn" in PATH
pnpm: SKIPPED: Cannot find "pnpm" in PATH
volta packages: SKIPPED: Cannot find "volta" in PATH
deno: SKIPPED: Cannot find "deno" in PATH
composer: SKIPPED: Cannot find "composer" in PATH
krew: SKIPPED: Cannot find "kubectl-krew" in PATH
helm: SKIPPED: Cannot find "helm" in PATH
gem: OK
rubygems: OK
julia: SKIPPED: Cannot find "julia" in PATH
haxelib: SKIPPED: Cannot find "haxelib" in PATH
sheldon: SKIPPED: Cannot find "sheldon" in PATH
stew: SKIPPED: Cannot find "stew" in PATH
rtcl: SKIPPED: Cannot find "rupdate" in PATH
bin: SKIPPED: Cannot find "bin" in PATH
gcloud: SKIPPED: Cannot find "gcloud" in PATH
micro: SKIPPED: Cannot find "micro" in PATH
raco: SKIPPED: Cannot find "raco" in PATH
spicetify: SKIPPED: Cannot find "spicetify-cli" in PATH
GitHub CLI Extensions: OK
Bob: SKIPPED: Cannot find "bob" in PATH
Certbot: SKIPPED: Cannot find "certbot" in PATH
Git Repositories: SKIPPED: No repositories to pull
ClamAV Databases: SKIPPED: Cannot find "freshclam" in PATH
PlatformIO Core: SKIPPED: Cannot find "/Users/paddy/.platformio/penv/bin/pio" in PATH
Lensfun's database update: SKIPPED: Cannot find "lensfun-update-data" in PATH
Poetry: SKIPPED: Cannot find "poetry" in PATH
uv: OK
ZVM: SKIPPED: Cannot find "zvm" in PATH
aqua: SKIPPED: Cannot find "aqua" in PATH
bun: SKIPPED: Cannot find "bun" in PATH
Vagrant boxes: SKIPPED: Cannot find "vagrant" in PATH

@paddyroddy paddyroddy added the C-bug Something isn't working label Oct 12, 2024
@SteveLauC
Copy link
Member

Thanks for the report!

cc @lucaspar, from the doc, looks like the self-update feature is only available if your uv is installed through the official script:

When uv is installed via the standalone installer, it can update itself on-demand

Hopefully, we can find a way to check if an installation is done in such a way, or we have to remove this operation🤔.

@SteveLauC
Copy link
Member

This issue is quite similar to #892, see this comment.

@SteveLauC
Copy link
Member

Oh, I just realized that even though this issue is similar to that one, but this one is pretty easy to fix, we can simply check if the self update sub-command exists or not, and only involve it if exists

@lucaspar
Copy link
Contributor

lucaspar commented Oct 12, 2024

You should use the package manager that installed uv to upgrade itself (the brew step in this case). The step is working as expected and your uv installed tools are being upgraded:

DEBUG Executing command /opt/homebrew/bin/uv tool upgrade --all

Nothing to upgrade

See the comment in https://github.com/topgrade-rs/topgrade/blob/main/src/steps/generic.rs#L1034-L1044

@SteveLauC
Copy link
Member

Hmm, just found we already ignored the execution result of that command, perhaps we should hide the output as well?

@lucaspar
Copy link
Contributor

I chose to not hide it because

  1. Successful update messages may still be relevant.
  2. In case there are other categories of errors we could miss.

If we're trying to improve UX, maybe we can add a custom log message from topgrade on error to tell the user that this "error" is (probably) ok.

@lucaspar
Copy link
Contributor

A different route is to try uv self --help first - if it succeeds, we call uv self update. Otherwise we skip it to let homebrew (or another manager) handle it.

@SteveLauC
Copy link
Member

A different route is to try uv self --help first - if it succeeds, we call uv self update. Otherwise we skip it to let homebrew (or another manager) handle it.

This is what I think, we try the command uv self --help and capture the output, if it fails, then we skip this step. Otherwise, do the self-update.

@paddyroddy
Copy link
Contributor Author

I think the current solution is good. But personally, I'd rather uv didn't even feature in the list in this case (without manually disabling it).

── 16:07:35 - uv ───────────────────────────────────────────────────────────────
error: uv was installed through an external package manager, and self-update is not available. Please use your package manager to update uv.
Nothing to upgrade

@lucaspar
Copy link
Contributor

It's listed because uv-installed tools are updated regardless of uv's installation mode.

@SteveLauC
Copy link
Member

── 16:07:35 - uv ───────────────────────────────────────────────────────────────
error: uv was installed through an external package manager, and self-update is not available. Please use your package manager to update uv.
Nothing to upgrade

This is also feasible as we can check if it is installed through the official scrip via uv self --help

lucaspar added a commit to lucaspar/topgrade that referenced this issue Oct 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants