zdharma-continuum / zinit

🌻 Flexible and fast ZSH plugin manager
MIT License
3.15k stars 129 forks source link

🐞 bug: `gh-r` for `volta-cli/volta` repo on macOS picks the Windows MSI installer artifact #179

Closed jimeh closed 2 years ago

jimeh commented 2 years ago

Issue description

From the latest Volta release (v1.0.5), it downloads the Windows MSI installer (volta-1.0.5-windows-x86_64.msi) instead of the macOS gzipped tarball (volta-1.0.5-macos.tar.gz).

Downloading volta-cli/volta…
(Requesting `volta-1.0.5-windows-x86_64.msi'…)
[...]
ziextract: WARNING: didn't recognize the archive type of `volta-1.0.5-windows-x86_64.msi'  }(no extraction has been done).%f%b

zinit config

zinit ice wait lucid as'program' from'gh-r'
zinit light volta-cli/volta

zinit version or commit ID

de49ebffe89a4b5dad5089e03d1500d802cef7ab

zsh version

5.8

host info

CPUTYPE=x86_64 MACHTYPE=x86_64 OSTYPE=darwin21.0 Darwin noct.local 21.3.0 Darwin Kernel Version 21.3.0: Wed Jan 5 21:37:58 PST 2022; root:xnu-8019.80.24~20/RELEASE_X86_64 x86_64

vladdoster commented 2 years ago

@jimeh Thanks for catching this!

I have corrected this logic (e.g., M1 and Intel) on a branch for #201.

Screen Shot 2022-03-13 at 21 43 52

Could you test it out? You can use the snippet below:

#!/usr/bin/env zsh
#=== HELPER METHODS ===================================
function error() { print -P "%F{160}[ERROR] ---%f%b $1" >&2 && exit 1; }
function info() { print -P "%F{34}[INFO] ---%f%b $1"; }
#=== ZINIT ============================================
# GIT_REPO=$(git rev-parse --show-toplevel)/tests/_support/zinit
GIT_REPO=$(mktemp -d)/zinit
if [[ -d $GIT_REPO ]]; then
  rm -rf $GIT_REPO
fi
typeset -gAH ZINIT;
ZINIT[HOME_DIR]=$GIT_REPO  ZPFX=$ZINIT[HOME_DIR]/polaris
ZINIT[BIN_DIR]=$ZINIT[HOME_DIR]/zinit.git ZINIT[OPTIMIZE_OUT_DISK_ACCESSES]=1
ZINIT[COMPLETIONS_DIR]=$ZINIT[HOME_DIR]/completions ZINIT[SNIPPETS_DIR]=$ZINIT[HOME_DIR]/snippets
ZINIT[ZCOMPDUMP_PATH]=$ZINIT[HOME_DIR]/zcompdump    ZINIT[PLUGINS_DIR]=$ZINIT[HOME_DIR]/plugins
ZI_REPO='zdharma-continuum'; GH_RAW_URL='https://raw.githubusercontent.com'
info 'Downloading Zinit' \
  && command git clone \
      --branch 'refactor/zunit-tests' \
      https://github.com/$ZI_REPO/zinit.git \
      $ZINIT[BIN_DIR] \
  || error 'Unable to download zinit' \
  && info 'Installing Zinit' \
  && command chmod g-rwX $ZINIT[HOME_DIR] \
  && zcompile $ZINIT[BIN_DIR]/zinit.zsh \
  && info 'Successfully installed Zinit' \
  || error 'Unable to install Zinit'
source $ZINIT[BIN_DIR]/zinit.zsh \
  && autoload -Uz _zinit \
  && (( ${+_comps} )) \
  && _comps[zinit]=_zinit
#=== Plugins, Snippets, etc. below
vladdoster commented 2 years ago

Hi @jimeh,

Closing due to lack of activity. Additionally. there is a fix to the issue which I have linked.

Please re-open this issue if this problem persists.

jimeh commented 2 years ago

@vladdoster sorry for the silence, seems I managed to accidentally mark the GitHub notification as done.

I just want to confirm that with the changes in #201, zinit picks the correct binary file for volta :)

vladdoster commented 2 years ago

@jimeh The changes in #201 are now in Zinit! :)

github-actions[bot] commented 2 years ago

:tada: This issue has been resolved in version 3.8.0 :tada:

The release is available on GitHub release

Your semantic-release bot :package::rocket: