jdx / mise

dev tools, env vars, task runner
https://mise.jdx.dev
MIT License
8.11k stars 214 forks source link

`mise install` failes with v2024.5.26 and 27 but works with .24 #2231

Open sarg3nt opened 1 month ago

sarg3nt commented 1 month ago

Describe the bug When running mise install to install apps via a config file during a build of a Docker container, mise versions v2024.5.26 and v2024.5.27 fail with the following errors.

0.290 2024-05-31 20:29:03 Installing mise
0.419   not a dynamic executable
0.427 mise: installing mise...
######################################################################## 100.0%
1.179   not a dynamic executable
1.378 mise: installed successfully to /home/vscode/.local/bin/mise
1.378 mise: run the following to activate mise in your shell:
1.378 echo "eval \"\$(/home/vscode/.local/bin/mise activate zsh)\"" >> "/home/vscode/.zshrc"
1.378
1.378 mise: this must be run in order to use mise in the terminal
1.378 mise: run `mise doctor` to verify this is setup correctly
1.381 2024.5.27 linux-x64 (0e0db86 2024-05-31)
1.439 [DEBUG] ARGS: mise doctor
1.439 version: 2024.5.27 linux-x64 (0e0db86 2024-05-31)
1.439 activated: no
1.439 shims_on_path: yes
1.439
1.439 build_info:
1.439   Target: x86_64-unknown-linux-gnu
1.439   Features: DEFAULT, NATIVE_TLS, OPENSSL
1.439   Built: Fri, 31 May 2024 02:04:43 +0000
1.439   Rust Version: rustc 1.78.0 (9b00956e5 2024-04-29)
1.439   Profile: release
1.439
1.439 shell:
1.439   (unknown)
1.439
1.439 dirs:
1.439   data: ~/.local/share/mise
1.439   config: ~/.config/mise
1.439   cache: ~/.cache/mise
1.439   state: ~/.local/state/mise
1.439   shims: ~/.local/share/mise/shims
1.441 [DEBUG] Config {
1.441     Config Files: [
1.441         "~/.config/mise/config.toml",
1.441     ],
1.441 }
1.441
1.441 config_files:
1.441   ~/.config/mise/config.toml
1.441
1.441 backends:
1.441   cargo
1.441   core
1.441   go
1.441   npm
1.441   pipx
1.441   ubi
1.441
1.441 plugins:
1.441   bun     (core)
1.441   deno    (core)
1.441   erlang  (core)
1.441   go      (core)
1.441   java    (core)
1.441   node    (core)
1.441   python  (core)
1.441   ruby    (core)
1.442 [DEBUG] ToolRequestSet.build(54.201µs): ToolRequestSet: bat@latest dive@latest fzf@latest gitui@latest go@latest goreleaser@latest helm@latest k9s@latest krew@latest kubebench@latest kubectl@1.27 kubectx@latest lsd@latest micro@latest opentofu@1.7 packer@latest starship@latest tealdeer@latest trivy@latest vault@1.14.10 yq@latest
1.442
1.448 [DEBUG] GET http://mise-versions.jdx.dev/go
1.448 [DEBUG] starting new connection: http://mise-versions.jdx.dev/
1.448 [DEBUG] proxy(http://wall.ad.selinc.com:8080) intercepts 'http://mise-versions.jdx.dev/'
1.495 [DEBUG] GET http://mise-versions.jdx.dev/go 200 OK
1.497 [DEBUG] Toolset (56.197207ms): bat@latest, dive@latest, fzf@latest, gitui@latest, go@latest, goreleaser@latest, helm@latest, k9s@latest, krew@latest, kubebench@latest, kubectl@1.27, kubectx@latest, lsd@latest, micro@latest, opentofu@1.7, packer@latest, starship@latest, tealdeer@latest, trivy@latest, vault@1.14.10, yq@latest
1.501
1.501 toolset:
1.501   bat@latest         (missing)
1.501   dive@latest        (missing)
1.501   fzf@latest         (missing)
1.501   gitui@latest       (missing)
1.501   go@1.22.3          (missing)
1.501   goreleaser@latest  (missing)
1.501   helm@latest        (missing)
1.501   k9s@latest         (missing)
1.501   krew@latest        (missing)
1.501   kubebench@latest   (missing)
1.501   kubectl@1.27       (missing)
1.501   kubectx@latest     (missing)
1.501   lsd@latest         (missing)
1.501   micro@latest       (missing)
1.501   opentofu@1.7       (missing)
1.501   packer@latest      (missing)
1.501   starship@latest    (missing)
1.501   tealdeer@latest    (missing)
1.501   trivy@latest       (missing)
1.501   vault@1.14.10      (missing)
1.501   yq@latest          (missing)
1.501
1.501 env_vars:
1.501   MISE_VERSION=v2024.5.27
1.501   MISE_VERBOSE=1
1.502
1.502 settings:
1.502   activate_aggressive = false
1.502   all_compile = false
1.502   always_keep_download = false
1.502   always_keep_install = false
1.502   asdf_compat = false
1.502   cargo_binstall = true
1.502   color = true
1.502   disable_default_shorthands = false
1.502   disable_tools = []
1.502   experimental = false
1.502   go_default_packages_file = "~/.default-go-packages"
1.502   go_download_mirror = "https://dl.google.com/go"
1.502   go_repo = "https://github.com/golang/go"
1.502   go_set_gopath = false
1.502   go_set_goroot = true
1.502   go_skip_checksum = false
1.502   jobs = 4
1.502   legacy_version_file = true
1.502   legacy_version_file_disable_tools = []
1.502   node_compile = false
1.502   not_found_auto_install = true
1.502   paranoid = false
1.502   plugin_autoupdate_last_check_duration = "7d"
1.502   python_default_packages_file = "/home/vscode/.default-python-packages"
1.502   python_pyenv_repo = "https://github.com/pyenv/pyenv.git"
1.502   raw = false
1.502   trusted_config_paths = []
1.502   quiet = false
1.502   verbose = true
1.502   yes = false
1.502   ci = false
1.502   debug = false
1.502   trace = false
1.502   log_level = "debug"
1.502   python_venv_auto_create = false
1.502
1.502   [status]
1.502   missing_tools = "if_other_versions_installed"
1.502   show_env = false
1.502   show_tools = false
1.502
1.502 No warnings found
1.502 No problems found
1.505 2024-05-31 20:29:05 Installing tools with mise
1.510 [DEBUG] ARGS: mise trust /home/vscode/.config/mise/config.toml
1.510 [INFO] mise trusted /home/vscode/.config/mise/config.toml
1.515 [DEBUG] ARGS: mise install
1.516 [DEBUG] Config {
1.516     Config Files: [
1.516         "~/.config/mise/config.toml",
1.516     ],
1.516 }
1.516 [DEBUG] ToolRequestSet.build(38.801µs): ToolRequestSet: bat@latest dive@latest fzf@latest gitui@latest go@latest goreleaser@latest helm@latest k9s@latest krew@latest kubebench@latest kubectl@1.27 kubectx@latest lsd@latest micro@latest opentofu@1.7 packer@latest starship@latest tealdeer@latest trivy@latest vault@1.14.10 yq@latest
1.516
1.516 [DEBUG] install_versions: bat@latest dive@latest fzf@latest gitui@latest go@latest goreleaser@latest helm@latest k9s@latest krew@latest kubebench@latest kubectl@1.27 kubectx@latest lsd@latest micro@latest opentofu@1.7 packer@latest starship@latest tealdeer@latest trivy@latest vault@1.14.10 yq@latest
1.516 [WARN] ⚠️ yq is a community-developed plugin
1.517 [WARN] url: https://github.com/sudermanjr/asdf-yq
1.519 [DEBUG] install vault "https://github.com/asdf-community/asdf-hashicorp"
1.519 cloning https://github.com/asdf-community/asdf-hashicorp
1.519 [DEBUG] cloning https://github.com/asdf-community/asdf-hashicorp to /home/vscode/.local/share/mise/plugins/vault
1.519 [DEBUG] mkdirp: "/home/vscode/.local/share/mise/plugins"
1.880 [DEBUG] current sha for "/home/vscode/.local/share/mise/plugins/vault": f1602b6
1.880 mise plugin:vault ✓ https://github.com/asdf-community/asdf-hashicorp#f1602b6
1.880 [WARN] ⚠️ trivy is a community-developed plugin
1.880 [WARN] url: https://github.com/zufardhiyaulhaq/asdf-trivy
1.880 [DEBUG] install tealdeer "https://github.com/sarg3nt/asdf-tealdeer"
1.880 cloning https://github.com/sarg3nt/asdf-tealdeer
1.880 [DEBUG] cloning https://github.com/sarg3nt/asdf-tealdeer to /home/vscode/.local/share/mise/plugins/tealdeer
2.203 [DEBUG] current sha for "/home/vscode/.local/share/mise/plugins/tealdeer": 7a93c7d
2.203 mise plugin:tealdeer ✓ https://github.com/sarg3nt/asdf-tealdeer#7a93c7d
2.203 [WARN] ⚠️ starship is a community-developed plugin
2.203 [WARN] url: https://github.com/gr1m0h/asdf-starship
2.203 [DEBUG] install packer "https://github.com/asdf-community/asdf-hashicorp"
2.203 cloning https://github.com/asdf-community/asdf-hashicorp
2.203 [DEBUG] cloning https://github.com/asdf-community/asdf-hashicorp to /home/vscode/.local/share/mise/plugins/packer
2.548 [DEBUG] current sha for "/home/vscode/.local/share/mise/plugins/packer": f1602b6
2.548 mise plugin:packer ✓ https://github.com/asdf-community/asdf-hashicorp#f1602b6
2.548 [WARN] ⚠️ opentofu is a community-developed plugin
2.548 [WARN] url: https://github.com/virtualroot/asdf-opentofu
2.548 [DEBUG] install micro "https://github.com/sarg3nt/asdf-micro"
2.548 cloning https://github.com/sarg3nt/asdf-micro
2.548 [DEBUG] cloning https://github.com/sarg3nt/asdf-micro to /home/vscode/.local/share/mise/plugins/micro
2.857 [DEBUG] current sha for "/home/vscode/.local/share/mise/plugins/micro": 7c2d3dd
2.857 mise plugin:micro ✓ https://github.com/sarg3nt/asdf-micro#7c2d3dd
2.857 [DEBUG] install lsd "https://github.com/mise-plugins/asdf-lsd"
2.857 cloning https://github.com/mise-plugins/asdf-lsd
2.857 [DEBUG] cloning https://github.com/mise-plugins/asdf-lsd to /home/vscode/.local/share/mise/plugins/lsd
3.206 [DEBUG] current sha for "/home/vscode/.local/share/mise/plugins/lsd": c3858be
3.206 mise plugin:lsd ✓ https://github.com/mise-plugins/asdf-lsd#c3858be
3.206 [WARN] ⚠️ kubectx is a community-developed plugin
3.206 [WARN] url: https://gitlab.com/wt0f/asdf-kubectx
3.206 [WARN] ⚠️ kubectl is a community-developed plugin
3.206 [WARN] url: https://github.com/asdf-community/asdf-kubectl
3.206 [DEBUG] install kubebench "https://github.com/sarg3nt/asdf-kube-bench"
3.206 cloning https://github.com/sarg3nt/asdf-kube-bench
3.206 [DEBUG] cloning https://github.com/sarg3nt/asdf-kube-bench to /home/vscode/.local/share/mise/plugins/kubebench
3.528 [DEBUG] current sha for "/home/vscode/.local/share/mise/plugins/kubebench": 1a7dce2
3.528 mise plugin:kubebench ✓ https://github.com/sarg3nt/asdf-kube-bench#1a7dce2
3.528 [WARN] ⚠️ krew is a community-developed plugin
3.528 [WARN] url: https://github.com/bjw-s/asdf-krew
3.528 [WARN] ⚠️ k9s is a community-developed plugin
3.528 [WARN] url: https://github.com/looztra/asdf-k9s
3.528 [WARN] ⚠️ helm is a community-developed plugin
3.528 [WARN] url: https://github.com/Antiarchitect/asdf-helm
3.528 [WARN] ⚠️ goreleaser is a community-developed plugin
3.528 [WARN] url: https://github.com/kforsthoevel/asdf-goreleaser
3.528 [WARN] ⚠️ gitui is a community-developed plugin
3.528 [WARN] url: https://github.com/looztra/asdf-gitui
3.528 [WARN] ⚠️ fzf is a community-developed plugin
3.528 [WARN] url: https://github.com/kompiro/asdf-fzf
3.528 [WARN] ⚠️ dive is a community-developed plugin
3.528 [WARN] url: https://github.com/looztra/asdf-dive
3.528 [WARN] ⚠️ bat is a community-developed plugin
3.528 [WARN] url: https://gitlab.com/wt0f/asdf-bat
3.537 Error:
3.537    0: bat is not installed
3.537
3.537 Location:
3.537    src/forge/mod.rs:344
3.537
3.537 Version:
3.537    2024.5.27 linux-x64 (0e0db86 2024-05-31)
3.537
3.537   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
3.537                                 ⋮ 2 frames hidden ⋮
3.538    3: mise::forge::Forge::install_version::h457ae39afc9757c5
3.538       at <unknown source file>:<unknown line>
3.538    4: std::sys_common::backtrace::__rust_begin_short_backtrace::hcb3d57ddc8d6fb46
3.538       at <unknown source file>:<unknown line>
3.538    5: core::ops::function::FnOnce::call_once{{vtable.shim}}::ha02f8bde1983b550
3.538       at <unknown source file>:<unknown line>
3.538    6: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h19b9e642d37e7272
3.538       at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/alloc/src/boxed.rs:2020
3.538    7: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h97265befc434d3ae
3.538       at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/alloc/src/boxed.rs:2020
3.538    8: std::sys::pal::unix::thread::Thread::new::thread_start::h420dad5cf01a9f35
3.538       at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/sys/pal/unix/thread.rs:108
3.538    9: start_thread<unknown>
3.538       at <unknown source file>:<unknown line>
3.538   10: __GI___clone<unknown>
3.538       at <unknown source file>:<unknown line>
3.538
3.538 Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.
3.538 Run with RUST_BACKTRACE=full to include source snippets.

mise version v2024.5.24 works as expected.
Removing apps from the install list does not solve anything as it then changes to a different app that will not install.

To Reproduce

The mise config.yaml

[tools]
#python = '3.12-dev'
bat = "latest"
#cmctl = "1.14.5" # Broken: https://github.com/asdf-community/asdf-cmctl/issues/10
dive = "latest"
fzf = "latest"
gitui = "latest"
golang = 'latest'
goreleaser = 'latest'
helm = "latest"
k9s = "latest"
krew = "latest"
kubebench = "latest"
kubectl = "1.27"
kubectx = "latest"
lsd = "latest"
micro = "latest"
opentofu = "1.7"
packer = "latest"
#popeye = "latest"  ### Broken: https://github.com/nlamirault/asdf-popeye/issues/6
starship = "latest"
tealdeer = "latest"
trivy = "latest"
vault = "1.14.10"   # Must stick to this version as Hashicorp is not building newer versions that are not enterprise.
yq = "latest"

[plugins]
# specify a custom repo url
# note this will only be used if the plugin does not already exist
bat = "https://gitlab.com/wt0f/asdf-bat"
#cmctl = "https://github.com/asdf-community/asdf-cmctl"
dive = "https://github.com/looztra/asdf-dive"
fzf = "https://github.com/kompiro/asdf-fzf"
gitui = "https://github.com/looztra/asdf-gitui"
goreleaser = "https://github.com/kforsthoevel/asdf-goreleaser"
helm = "https://github.com/Antiarchitect/asdf-helm"
k9s = "https://github.com/looztra/asdf-k9s"
krew = "https://github.com/bjw-s/asdf-krew"
kubebench = "https://github.com/sarg3nt/asdf-kube-bench"
kubectl = 'https://github.com/asdf-community/asdf-kubectl'
kubectx = "https://gitlab.com/wt0f/asdf-kubectx"
kubeseal = "https://github.com/stefansedich/asdf-kubeseal"
lsd = "https://github.com/mise-plugins/asdf-lsd"
micro = "https://github.com/sarg3nt/asdf-micro"
opentofu = "https://github.com/virtualroot/asdf-opentofu"
packer = "https://github.com/asdf-community/asdf-hashicorp"
#popeye = "https://github.com/nlamirault/asdf-popeye"
starship = "https://github.com/gr1m0h/asdf-starship"
tealdeer = "https://github.com/sarg3nt/asdf-tealdeer"
trivy = "https://github.com/zufardhiyaulhaq/asdf-trivy"
vault = "https://github.com/asdf-community/asdf-hashicorp"
yq = "https://github.com/sudermanjr/asdf-yq"

NOTE: python = '3.12-dev' is commented out so I can simplify the build for testing, it does not contribute to failure or success.

In a script ran by the Dockerfile I have this.

#!/bin/bash
# Copyright (c) 2024 Schweitzer Engineering Laboratories, Inc.
# SEL Confidential
set -euo pipefail
IFS=$'\n\t'

# cSpell:ignore devel libuuid gdbm libnsl

main() {
  source "/usr/bin/lib/sh/log.sh"

  ############ Install mise
  log "30-install-mise.sh" "blue"

  # From https://github.com/pyenv/pyenv/wiki#suggested-build-environment
  log "Installing requirements for building Python via mise" "green"
  #sudo dnf -y update
  #sudo dnf install -y make gcc patch zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel libffi-devel xz-devel libuuid-devel libnsl2

  log "Installing mise" "green"
  curl -sL https://mise.run | sh
  export PATH="$HOME/.local/share/mise/shims:$HOME/.local/bin/:$PATH"
  mise version

  log "Installing tools with mise" "green"
  mise trust "$HOME/.config/mise/config.toml"
  mise install

  #log "Removing python build requirements." "green"
  #sudo dnf remove -y make gcc patch zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel libffi-devel xz-devel libuuid-devel libnsl2
  #sudo dnf autoremove -y
  #sudo dnf clean all

  log "Deleting files from /tmp" "green"
  sudo rm -rf /tmp/*
}

# Run main
if ! (return 0 2>/dev/null); then
  (main "$@")
fi

NOTE: Commented out code for testing to speed things up.

Expected behavior Newer versions should install, or if there are breaking changes with the config file then this should not be a patch release and the changes should be mentioned both in docs and in the Releases notes for that version, I suspect this is a bug though..

mise doctor output

1.439 [DEBUG] ARGS: mise doctor
1.439 version: 2024.5.27 linux-x64 (0e0db86 2024-05-31)
1.439 activated: no
1.439 shims_on_path: yes
1.439
1.439 build_info:
1.439   Target: x86_64-unknown-linux-gnu
1.439   Features: DEFAULT, NATIVE_TLS, OPENSSL
1.439   Built: Fri, 31 May 2024 02:04:43 +0000
1.439   Rust Version: rustc 1.78.0 (9b00956e5 2024-04-29)
1.439   Profile: release
1.439
1.439 shell:
1.439   (unknown)
1.439
1.439 dirs:
1.439   data: ~/.local/share/mise
1.439   config: ~/.config/mise
1.439   cache: ~/.cache/mise
1.439   state: ~/.local/state/mise
1.439   shims: ~/.local/share/mise/shims
1.441 [DEBUG] Config {
1.441     Config Files: [
1.441         "~/.config/mise/config.toml",
1.441     ],
1.441 }
1.441
1.441 config_files:
1.441   ~/.config/mise/config.toml
1.441
1.441 backends:
1.441   cargo
1.441   core
1.441   go
1.441   npm
1.441   pipx
1.441   ubi
1.441
1.441 plugins:
1.441   bun     (core)
1.441   deno    (core)
1.441   erlang  (core)
1.441   go      (core)
1.441   java    (core)
1.441   node    (core)
1.441   python  (core)
1.441   ruby    (core)

Additional context This is code that has been working for some time and broke with new releases of mise. ARG MISE_VERSION="v2024.5.24" works ARG MISE_VERSION="v2024.5.25" mise does not install ARG MISE_VERSION="v2024.5.26" Throws above errors ARG MISE_VERSION="v2024.5.27" Throws above errors

NOTE: Above are ARGs in a Dockerfile and are functionally identical to an ENV. I am confirming that the correct version of mise is being installed in debug output.

sarg3nt commented 1 month ago

Another bit of information. If I install the plugins one at a time then install the apps one at a time with the newest version it works fine. Example code below:

#!/bin/bash
# Copyright (c) 2023 Schweitzer Engineering Laboratories, Inc.
# SEL Confidential
set -euo pipefail
IFS=$'\n\t'

# cSpell:ignore devel libuuid gdbm libnsl

main() {
  source "/usr/bin/lib/sh/log.sh"

  ############ Install mise
  log "30-install-mise.sh" "blue"

  # From https://github.com/pyenv/pyenv/wiki#suggested-build-environment
  log "Installing mise" "green"
  curl -sL https://mise.run | sh
  export PATH="$HOME/.local/share/mise/shims:$HOME/.local/bin/:$PATH"

  log "Installing tools with mise" "green"
  #mise trust "$HOME/.config/mise/config.toml"
  #mise install
  log "Adding mise plugins" "green"

  mise plugin install bat "https://gitlab.com/wt0f/asdf-bat"
  mise plugin install dive "https://github.com/looztra/asdf-dive"
  mise plugin install fzf "https://github.com/kompiro/asdf-fzf"
  mise plugin install gitui "https://github.com/looztra/asdf-gitui"
  mise plugin install goreleaser "https://github.com/kforsthoevel/asdf-goreleaser"
  mise plugin install helm "https://github.com/Antiarchitect/asdf-helm"
  mise plugin install k9s "https://github.com/looztra/asdf-k9s"
  mise plugin install krew "https://github.com/bjw-s/asdf-krew"
  mise plugin install kubebench "https://github.com/sarg3nt/asdf-kube-bench"
  mise plugin install kubectl 'https://github.com/asdf-community/asdf-kubectl'
  mise plugin install kubectx "https://gitlab.com/wt0f/asdf-kubectx"
  mise plugin install kubeseal "https://github.com/stefansedich/asdf-kubeseal"
  mise plugin install lsd "https://github.com/mise-plugins/asdf-lsd"
  mise plugin install micro "https://github.com/sarg3nt/asdf-micro"
  mise plugin install opentofu "https://github.com/virtualroot/asdf-opentofu"
  mise plugin install packer "https://github.com/asdf-community/asdf-hashicorp"
  mise plugin install starship "https://github.com/gr1m0h/asdf-starship"
  mise plugin install tealdeer "https://github.com/sarg3nt/asdf-tealdeer"
  mise plugin install trivy "https://github.com/zufardhiyaulhaq/asdf-trivy"
  mise plugin install vault "https://github.com/asdf-community/asdf-hashicorp"
  mise plugin install yq "https://github.com/sudermanjr/asdf-yq"

  while :; do
    log "Installing apps" "green"
    TZ='America/Los_Angeles' date
    mise use -g bat@latest
    TZ='America/Los_Angeles' date
    mise use -g dive@latest
    TZ='America/Los_Angeles' date
    mise use -g fzf@latest
    TZ='America/Los_Angeles' date
    mise use -g gitui@latest
    TZ='America/Los_Angeles' date
    mise use -g goreleaser@latest
    TZ='America/Los_Angeles' date
    mise use -g helm@latest
    TZ='America/Los_Angeles' date
    mise use -g k9s@latest
    TZ='America/Los_Angeles' date
    mise use -g krew@latest
    TZ='America/Los_Angeles' date
    mise use -g kubebench@latest
    TZ='America/Los_Angeles' date
    mise use -g kubectl@latest
    TZ='America/Los_Angeles' date
    mise use -g kubectx@latest
    TZ='America/Los_Angeles' date
    mise use -g kubeseal@latest
    TZ='America/Los_Angeles' date
    mise use -g lsd@latest
    TZ='America/Los_Angeles' date
    mise use -g micro@latest
    TZ='America/Los_Angeles' date
    mise use -g opentofu@latest
    TZ='America/Los_Angeles' date
    mise use -g packer@latest
    TZ='America/Los_Angeles' date
    mise use -g starship@latest
    TZ='America/Los_Angeles' date
    mise use -g tealdeer@latest
    TZ='America/Los_Angeles' date
    mise use -g trivy@latest
    TZ='America/Los_Angeles' date
    mise use -g vault@latest
    TZ='America/Los_Angeles' date
    mise use -g yq@latest
    echo "*** Sleeping for 10 ***"
    sleep 10

    log "Removing apps" "green"
    TZ='America/Los_Angeles' date
    mise uninstall -y powershell@latest
    mise uninstall -y bat@latest
    mise uninstall -y dive@latest
    mise uninstall -y fzf@latest
    mise uninstall -y gitui@latest
    mise uninstall -y goreleaser@latest
    mise uninstall -y helm@latest
    mise uninstall -y k9s@latest
    mise uninstall -y krew@latest
    mise uninstall -y kubebench@latest
    mise uninstall -y kubectl@latest
    mise uninstall -y kubectx@latest
    mise uninstall -y kubeseal@latest
    mise uninstall -y lsd@latest
    mise uninstall -y mctl@latest
    mise uninstall -y micro@latest
    mise uninstall -y opentofu@latest
    mise uninstall -y packer@latest
    mise uninstall -y starship@latest
    mise uninstall -y tealdeer@latest
    mise uninstall -y trivy@latest
    mise uninstall -y vault@latest
    mise uninstall -y yq@latest
    echo ""
    echo "*** Sleeping for 10 ***"
    sleep 10
    echo "** LOOPING **"
    echo ""
  done

  log "Deleting files from /tmp" "green"
  sudo rm -rf /tmp/*
}

# Run main
if ! (return 0 2>/dev/null); then
  (main "$@")
fi

That can loop forever and install every time.

jdx commented 1 month ago

do you have cat symlinked to bat or something?

sarg3nt commented 1 month ago

do you have cat symlinked to bat or something?

Negative. No aliases for cat at all and bat is not installed in either by root shell or the Docker container. It is something that mise is attempting to install, but is not otherwise.

sarg3nt commented 1 month ago

@jdx Double checking you saw my reply above. Anything else I can help with troubleshooting this?

jdx commented 4 weeks ago

I have not had time to investigate more, I did try to reproduce but was unable. It looked to me like bat or maybe cat was a mise shim which was causing this to happen but I'm not sure how that would have happened with your toolset.

sarg3nt commented 3 weeks ago

@jdx Yeah, I don't know.

I did a which cat in the shell script that runs mise and it returns /usr/bin/cat which bat returns which: no bat in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)

I just tried the latest release and it's still failing.

I commented out bat so mise would not try to install it and it still fails.

Base OS for the container is: rockylinux:9 Hope that helps.