devops-works / binenv

One binary to rule them all. Manage all those pesky binaries (kubectl, helm, terraform, ...) easily.
MIT License
367 stars 44 forks source link

Versions for some distributions are missing #168

Closed vasti closed 2 years ago

vasti commented 2 years ago

It looks like entries in versions file is missing for some of the supported distributions, at least in the latest at the moment: https://github.com/devops-works/binenv/blob/508cdc86648713394b0f369127224557ac1949c9/distributions/cache.json

binenv itself is not there and if one follows the quick install instructions there are errors:

user@nix:~/tmp/binenv$ ./binenv install binenv
2021-10-16T22:25:24+03:00 WRN version for "binenv" not specified; using ""
2021-10-16T22:25:24+03:00 ERR unable to install "binenv" () error="unable to select latest stable version for \"binenv\": no stable version available. May be run 'binenv update binenv' ?"

The 'full' install instructions instructs to specify a version of binenv to install, i.e.

./binenv install binenv <version>

This way installation works.

Is this expected behavior? It is somewhat inconvenient compared to running binenv versions.

leucos commented 2 years ago

Thanks for reporting this @vasti I think this issue has been solved yesterday (see #156 #157 #159 #162) Could you try again please ? Staring from ./binenv update should be enough.

patsevanton commented 2 years ago

Checked on clean server. Worked

apatsev@binenv:~$ wget -q https://github.com/devops-works/binenv/releases/latest/download/binenv_linux_amd64
ttps://github.com/devops-works/binenv/releases/latest/download/checksums.txt
sha256sum  --check --ignore-missing checksums.txt
mv binenv_linux_amd64 binenv
chmod +x binenv
./binenv update
./binenv install binenv
rm binenv
if [[ -n $BASH ]]; then ZESHELL=bash; fi
if [[ -n $ZSH_NAME ]]; then ZESHELL=zsh; fi
echo $ZESHELL
echo -e '\nexport PATH=~/.binenv:$PATH' >> ~/.${ZESHELL}rc
echo "source <(binenv completion ${ZESHELL})" >> ~/.${ZESHELL}rc
exec $SHELL

apatsev@binenv:~$ wget -q https://github.com/devops-works/binenv/releases/latest/download/checksums.txt
apatsev@binenv:~$ sha256sum  --check --ignore-missing checksums.txt
binenv_linux_amd64: OK
apatsev@binenv:~$ mv binenv_linux_amd64 binenv
apatsev@binenv:~$ chmod +x binenv
apatsev@binenv:~$ ./binenv update
2021-10-18T05:52:07Z INF updating distribution list
2021-10-18T05:52:08Z INF retrieving distribution cache from https://raw.githubusercontent.com/devops-works/binenv/develop/distributions/cache.json
2021-10-18T05:52:08Z INF fetched updates for 152 distributions
apatsev@binenv:~$ ./binenv install binenv
2021-10-18T05:52:08Z WRN version for "binenv" not specified; using "0.14.0"
fetching binenv version 0.14.0 100% |████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| (7.3/7.3 MB, 13.345 MB/s)        
2021-10-18T05:52:09Z INF executing self install
2021-10-18T05:52:09Z INF "binenv" (0.14.0) installed
apatsev@binenv:~$ rm binenv
apatsev@binenv:~$ if [[ -n $BASH ]]; then ZESHELL=bash; fi
apatsev@binenv:~$ if [[ -n $ZSH_NAME ]]; then ZESHELL=zsh; fi
apatsev@binenv:~$ echo $ZESHELL
bash
apatsev@binenv:~$ echo -e '\nexport PATH=~/.binenv:$PATH' >> ~/.${ZESHELL}rc
apatsev@binenv:~$ echo "source <(binenv completion ${ZESHELL})" >> ~/.${ZESHELL}rc
apatsev@binenv:~$ exec $SHELL
vasti commented 2 years ago

It seems to be fixed for some of supported utilities (e.g. asciigraph).

As for binenv cache file seems to be either missing it or not: 508cdc8 seems to have removed it. 49ddfb8 added it back 13b0353 removed it again.

I think @patsevanton was lucky and tried when bits in cache file were there.

And it seems there are no rate limits if binenv update -f -v -c2 is running under github's actions.

leucos commented 2 years ago

Agreed for the rate limit. However I can not explain why I can build the cache locally without any issues.

I removed the action and pushed a clean cache.

It has been updated; you can binenv update.

Will look into a more long term solution. I never liked this method anyway.

vasti commented 2 years ago

binenv versions binenv now shows versions (after binenv update).

@leucos thanks for the help.