Преглед изворни кода

Switch from asdf to mise-en-place in bare-metal evals setup script (#9548)

Chris Estreich пре 1 месец
родитељ
комит
cad6145241
1 измењених фајлова са 87 додато и 128 уклоњено
  1. 87 128
      packages/evals/scripts/setup.sh

+ 87 - 128
packages/evals/scripts/setup.sh

@@ -1,13 +1,5 @@
 #!/bin/bash
 
-has_asdf_plugin() {
-  local plugin="$1"
-  case "$plugin" in
-    nodejs|python|golang|rust) echo "true" ;;
-    *) echo "false" ;;
-  esac
-}
-
 build_extension() {
   echo "🔨 Building the Roo Code extension..."
   pnpm -w vsix -- --out ../bin/roo-code-$(git rev-parse --short HEAD).vsix || exit 1
@@ -146,40 +138,33 @@ else
   echo "✅ Homebrew is installed ($BREW_VERSION)"
 fi
 
-ASDF_PATH="$(brew --prefix asdf)/libexec/asdf.sh"
-
-if ! command -v asdf &>/dev/null; then
-  if [[ -f "$ASDF_PATH" ]]; then
-    echo "⚠️ asdf is installed but not in your PATH"
-    exit 1
-  fi
-
-  read -p "🛠️ asdf (https://asdf-vm.com) is required. Install it? (Y/n): " install_asdf
+if ! command -v mise &>/dev/null; then
+  read -p "🛠️ mise (https://mise.jdx.dev) is required. Install it? (Y/n): " install_mise
 
-  if [[ "$install_asdf" =~ ^[Yy]|^$ ]]; then
-    echo "🛠️ Installing asdf..."
-    brew install asdf || exit 1
+  if [[ "$install_mise" =~ ^[Yy]|^$ ]]; then
+    echo "🛠️ Installing mise..."
+    brew install mise || exit 1
     # Can be undone with:
-    # brew uninstall asdf
-    # rm -rvf ~/.asdf
+    # brew uninstall mise
+    # rm -rvf ~/.local/share/mise ~/.config/mise
 
-    . "$ASDF_PATH"
+    eval "$(mise activate bash)"
 
-    if [[ "$SHELL" == "/bin/zsh" ]] && ! grep -q 'source "$(brew --prefix asdf)/libexec/asdf.sh"' ~/.zshrc; then
-      echo '[[ -s "/opt/homebrew/bin/brew" ]] && [[ -s "$(brew --prefix asdf)/libexec/asdf.sh" ]] && source "$(brew --prefix asdf)/libexec/asdf.sh"' >>~/.zprofile
-    elif [[ "$SHELL" == "/bin/bash" ]] && ! grep -q 'source "$(brew --prefix asdf)/libexec/asdf.sh"' ~/.bash_profile; then
-      echo '[[ -s "/opt/homebrew/bin/brew" ]] && [[ -s "$(brew --prefix asdf)/libexec/asdf.sh" ]] && source "$(brew --prefix asdf)/libexec/asdf.sh"' >>~/.bash_profile
+    if [[ "$SHELL" == "/bin/zsh" ]] && ! grep -q 'mise activate zsh' ~/.zprofile; then
+      echo 'eval "$(mise activate zsh)"' >>~/.zprofile
+    elif [[ "$SHELL" == "/bin/bash" ]] && ! grep -q 'mise activate bash' ~/.bash_profile; then
+      echo 'eval "$(mise activate bash)"' >>~/.bash_profile
     fi
 
-    ASDF_VERSION=$(asdf --version)
-    echo "✅ asdf is installed ($ASDF_VERSION)"
+    MISE_VERSION=$(mise --version)
+    echo "✅ mise is installed ($MISE_VERSION)"
   else
     exit 1
   fi
 else
-  ASDF_VERSION=$(asdf --version)
-  echo "✅ asdf is installed ($ASDF_VERSION)"
-  . "$ASDF_PATH"
+  MISE_VERSION=$(mise --version)
+  echo "✅ mise is installed ($MISE_VERSION)"
+  eval "$(mise activate bash)"
 fi
 
 if ! command -v gh &>/dev/null; then
@@ -196,108 +181,82 @@ else
   echo "✅ gh is installed ($GH_VERSION)"
 fi
 
-options=("nodejs" "python" "golang" "rust" "java")
-binaries=("node" "python" "go" "rustc" "javac")
-
-for i in "${!options[@]}"; do
-  plugin="${options[$i]}"
-  binary="${binaries[$i]}"
-
-  if [[ "$(has_asdf_plugin "$plugin")" == "true" ]]; then
-    if ! asdf plugin list | grep -q "^${plugin}$" && ! command -v "${binary}" &>/dev/null; then
-      echo "📦 Installing ${plugin} asdf plugin..."
-      asdf plugin add "${plugin}" || exit 1
-      echo "✅ asdf ${plugin} plugin installed successfully"
-    fi
-  fi
-
-  case "${plugin}" in
-  "nodejs")
-    if ! command -v node &>/dev/null; then
-      asdf install nodejs 20.19.2 || exit 1
-      asdf set nodejs 20.19.2 || exit 1
-      NODE_VERSION=$(node --version)
-      echo "✅ Node.js is installed ($NODE_VERSION)"
-    else
-      NODE_VERSION=$(node --version)
-      echo "✅ Node.js is installed ($NODE_VERSION)"
-    fi
+# Install language runtimes via mise
+if ! command -v node &>/dev/null; then
+  echo "📦 Installing Node.js via mise..."
+  mise install [email protected] || exit 1
+  mise use --global [email protected] || exit 1
+  eval "$(mise activate bash)"
+  NODE_VERSION=$(node --version)
+  echo "✅ Node.js is installed ($NODE_VERSION)"
+else
+  NODE_VERSION=$(node --version)
+  echo "✅ Node.js is installed ($NODE_VERSION)"
+fi
 
-    if [[ $(node --version) != "v20.19.2" ]]; then
-      NODE_VERSION=$(node --version)
-      echo "🚨 You have the wrong version of node installed ($NODE_VERSION)."
-      echo "💡 If you are using nvm then run 'nvm install' to install the version specified by the repo's .nvmrc."
-      exit 1
-    fi
-    ;;
-
-  "python")
-    if ! command -v python &>/dev/null; then
-      asdf install python 3.13.2 || exit 1
-      asdf set python 3.13.2 || exit 1
-      PYTHON_VERSION=$(python --version)
-      echo "✅ Python is installed ($PYTHON_VERSION)"
-    else
-      PYTHON_VERSION=$(python --version)
-      echo "✅ Python is installed ($PYTHON_VERSION)"
-    fi
+if [[ $(node --version) != "v20.19.2" ]]; then
+  NODE_VERSION=$(node --version)
+  echo "🚨 You have the wrong version of node installed ($NODE_VERSION)."
+  echo "💡 If you are using nvm then run 'nvm install' to install the version specified by the repo's .nvmrc."
+  exit 1
+fi
 
-    if ! command -v uv &>/dev/null; then
-      brew install uv || exit 1
-      UV_VERSION=$(uv --version)
-      echo "✅ uv is installed ($UV_VERSION)"
-    else
-      UV_VERSION=$(uv --version)
-      echo "✅ uv is installed ($UV_VERSION)"
-    fi
-    ;;
-
-  "golang")
-    if ! command -v go &>/dev/null; then
-      asdf install golang 1.24.2 || exit 1
-      asdf set golang 1.24.2 || exit 1
-      GO_VERSION=$(go version)
-      echo "✅ Go is installed ($GO_VERSION)"
-    else
-      GO_VERSION=$(go version)
-      echo "✅ Go is installed ($GO_VERSION)"
-    fi
-    ;;
-
-  "rust")
-    if ! command -v rustc &>/dev/null; then
-      asdf install rust 1.85.1 || exit 1
-      asdf set rust 1.85.1 || exit 1
-      RUST_VERSION=$(rustc --version)
-      echo "✅ Rust is installed ($RUST_VERSION)"
-    else
-      RUST_VERSION=$(rustc --version)
-      echo "✅ Rust is installed ($RUST_VERSION)"
-    fi
-    ;;
+if ! command -v python &>/dev/null; then
+  echo "📦 Installing Python via mise..."
+  mise install [email protected] || exit 1
+  mise use --global [email protected] || exit 1
+  eval "$(mise activate bash)"
+  PYTHON_VERSION=$(python --version)
+  echo "✅ Python is installed ($PYTHON_VERSION)"
+else
+  PYTHON_VERSION=$(python --version)
+  echo "✅ Python is installed ($PYTHON_VERSION)"
+fi
 
-  "java")
-    if ! command -v javac &>/dev/null || ! javac --version &>/dev/null; then
-      echo "☕ Installing Java..."
-      brew install openjdk@17 || exit 1
+if ! command -v uv &>/dev/null; then
+  brew install uv || exit 1
+  UV_VERSION=$(uv --version)
+  echo "✅ uv is installed ($UV_VERSION)"
+else
+  UV_VERSION=$(uv --version)
+  echo "✅ uv is installed ($UV_VERSION)"
+fi
 
-      export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"
+if ! command -v go &>/dev/null; then
+  echo "📦 Installing Go via mise..."
+  mise install [email protected] || exit 1
+  mise use --global [email protected] || exit 1
+  eval "$(mise activate bash)"
+  GO_VERSION=$(go version)
+  echo "✅ Go is installed ($GO_VERSION)"
+else
+  GO_VERSION=$(go version)
+  echo "✅ Go is installed ($GO_VERSION)"
+fi
 
-      if [[ "$SHELL" == "/bin/zsh" ]] && ! grep -q 'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"' ~/.zprofile; then
-        echo 'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"' >> ~/.zprofile
-      elif [[ "$SHELL" == "/bin/bash" ]] && ! grep -q 'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"' ~/.bash_profile; then
-        echo 'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"' >> ~/.bash_profile
-      fi
+if ! command -v rustc &>/dev/null; then
+  echo "📦 Installing Rust via mise..."
+  mise install [email protected] || exit 1
+  mise use --global [email protected] || exit 1
+  eval "$(mise activate bash)"
+  RUST_VERSION=$(rustc --version)
+  echo "✅ Rust is installed ($RUST_VERSION)"
+else
+  RUST_VERSION=$(rustc --version)
+  echo "✅ Rust is installed ($RUST_VERSION)"
+fi
 
-      JAVA_VERSION=$(javac --version | head -n 1)
-      echo "✅ Java is installed ($JAVA_VERSION)"
-    else
-      JAVA_VERSION=$(javac --version | head -n 1)
-      echo "✅ Java is installed ($JAVA_VERSION)"
-    fi
-    ;;
-  esac
-done
+if ! command -v javac &>/dev/null || ! javac --version &>/dev/null; then
+  echo "☕ Installing Java via mise..."
+  mise install java@openjdk-17 || exit 1
+  mise use --global java@openjdk-17 || exit 1
+  eval "$(mise activate bash)"
+  JAVA_VERSION=$(javac --version | head -n 1)
+  echo "✅ Java is installed ($JAVA_VERSION)"
+else
+  JAVA_VERSION=$(javac --version | head -n 1)
+  echo "✅ Java is installed ($JAVA_VERSION)"
+fi
 
 if ! command -v pnpm &>/dev/null; then
   brew install pnpm || exit 1