2323 required : true
2424 type : string
2525 description : Name of the artifact containing source code
26+ pkg_mgr :
27+ required : false
28+ type : string
29+ description : Package manager (pip, uv, conda). Default uv.
30+ default : " uv"
31+ env_name :
32+ required : false
33+ type : string
34+ description : Conda environment name (for conda only)
35+ default : " "
36+ env_path :
37+ required : false
38+ type : string
39+ description : Environment path (venv path for uv, conda installation path for conda)
40+ default : " /opt/venv"
2641
2742jobs :
2843 functional_test_cli :
@@ -93,11 +108,40 @@ jobs:
93108 set -euo pipefail
94109 cd $PROJECT_ROOT
95110
96- echo "Installing FlagScale CLI (outside virtual environment)"
111+ PKG_MGR='${{ inputs.pkg_mgr }}'
112+ ENV_NAME='${{ inputs.env_name }}'
113+ ENV_PATH='${{ inputs.env_path }}'
114+
115+ echo "Installing FlagScale CLI"
116+ echo "Installing dependencies for training"
117+ echo "Package Manager: $PKG_MGR"
118+ echo "Environment Name: $ENV_NAME"
119+ echo "Environment Path: $ENV_PATH"
120+
121+ # Source environment utilities
122+ source ./tools/install/utils/pyenv_utils.sh
123+
124+ # Activate environment based on package manager
125+ case "$PKG_MGR" in
126+ conda)
127+ if [ -n "$ENV_NAME" ] && [ -n "$ENV_PATH" ]; then
128+ activate_conda "$ENV_NAME" "$ENV_PATH" || { echo "❌ Conda activation failed"; exit 1; }
129+ fi
130+ ;;
131+ uv)
132+ if [ -n "$ENV_PATH" ] && [ -d "$ENV_PATH" ]; then
133+ activate_uv_env "$ENV_PATH" || { echo "❌ UV activation failed"; exit 1; }
134+ fi
135+ ;;
136+ pip)
137+ echo "Using system Python with pip"
138+ ;;
139+ esac
140+
97141 echo "Python location: $(which python)"
98142 echo "Python version: $(python --version)"
99143
100- # Install FlagScale CLI using system pip
144+ # Install FlagScale CLI
101145 pip install . --no-build-isolation --root-user-action=ignore || { echo "❌ FlagScale CLI install failed"; exit 1; }
102146
103147 # Verify installation
@@ -111,7 +155,32 @@ jobs:
111155 set -euo pipefail
112156 cd $PROJECT_ROOT
113157
114- echo "Validating CLI (outside virtual environment)"
158+ PKG_MGR='${{ inputs.pkg_mgr }}'
159+ ENV_NAME='${{ inputs.env_name }}'
160+ ENV_PATH='${{ inputs.env_path }}'
161+
162+ # Source environment utilities
163+ source ./tools/install/utils/pyenv_utils.sh
164+
165+ # Activate environment based on package manager
166+ # Activate environment based on package manager
167+ case "$PKG_MGR" in
168+ conda)
169+ if [ -n "$ENV_NAME" ] && [ -n "$ENV_PATH" ]; then
170+ activate_conda "$ENV_NAME" "$ENV_PATH" || { echo "❌ Conda activation failed"; exit 1; }
171+ fi
172+ ;;
173+ uv)
174+ if [ -n "$ENV_PATH" ] && [ -d "$ENV_PATH" ]; then
175+ activate_uv_env "$ENV_PATH" || { echo "❌ UV activation failed"; exit 1; }
176+ fi
177+ ;;
178+ pip)
179+ echo "Using system Python with pip"
180+ ;;
181+ esac
182+
183+ echo "Validating CLI"
115184 echo "Python location: $(which python)"
116185 echo "Python version: $(python --version)"
117186
0 commit comments