Skip to content

Commit b272784

Browse files
committed
Merge remote-tracking branch 'upstream/main' into rhoai-3.2
2 parents 5bef09c + 467bb90 commit b272784

File tree

4 files changed

+82
-33
lines changed

4 files changed

+82
-33
lines changed

.github/workflows/redhat-distro-container.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,14 @@ jobs:
106106
cache-from: type=gha
107107
cache-to: type=gha,mode=max
108108

109+
- name: Unset VERTEX_AI_PROJECT for fork PRs (secrets not available)
110+
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository
111+
run: |
112+
echo "Unsetting VERTEX_AI_PROJECT for fork PR (secrets not available)"
113+
echo "VERTEX_AI_PROJECT=" >> "$GITHUB_ENV"
114+
109115
- name: Authenticate to Google Cloud (Vertex)
110-
if: github.event_name != 'workflow_dispatch'
116+
if: github.event_name != 'workflow_dispatch' && !(github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository)
111117
uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3
112118
with:
113119
project_id: ${{ env.VERTEX_AI_PROJECT }}

distribution/build.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,15 @@ def is_install_from_source(llama_stack_version):
4848
return "." not in llama_stack_version or "+rhai" in llama_stack_version
4949

5050

51-
def check_package_installed(package_name):
52-
"""Check if llama binary is installed and accessible."""
53-
if not shutil.which(package_name):
54-
print(f"Error: {package_name} not found. Please install it first.")
51+
def check_command_installed(command, package_name=None):
52+
"""Check if a command is installed and accessible."""
53+
if not shutil.which(command):
54+
if package_name:
55+
print(
56+
f"Error: {command} not found. Please run uv pip install {package_name}"
57+
)
58+
else:
59+
print(f"Error: {command} not found. Please install it.")
5560
sys.exit(1)
5661

5762

@@ -262,11 +267,10 @@ def generate_containerfile(dependencies, llama_stack_install):
262267

263268

264269
def main():
265-
check_package_installed("uv")
270+
check_command_installed("uv")
266271
install_llama_stack_from_source(LLAMA_STACK_VERSION)
267272

268-
print("Checking llama installation...")
269-
check_package_installed("llama")
273+
check_command_installed("llama", "llama-stack-client")
270274

271275
# Do not perform version check if installing from source
272276
if not is_install_from_source(LLAMA_STACK_VERSION):

tests/run_integration_tests.sh

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,22 @@ function main() {
9393
echo " VLLM_INFERENCE_MODEL: $VLLM_INFERENCE_MODEL"
9494
echo " VERTEX_AI_INFERENCE_MODEL: $VERTEX_AI_INFERENCE_MODEL"
9595
echo " EMBEDDING_MODEL: $EMBEDDING_MODEL"
96+
echo " VERTEX_AI_PROJECT: ${VERTEX_AI_PROJECT:-<not set>}"
9697

9798
clone_llama_stack
98-
for model in "$VLLM_INFERENCE_MODEL" "$VERTEX_AI_INFERENCE_MODEL"; do
99+
100+
# Build list of models to test based on available configuration
101+
models_to_test=("$VLLM_INFERENCE_MODEL")
102+
103+
# Only include Vertex AI models if VERTEX_AI_PROJECT is set
104+
if [ -n "${VERTEX_AI_PROJECT:-}" ]; then
105+
echo "VERTEX_AI_PROJECT is set, including Vertex AI models in tests"
106+
models_to_test+=("$VERTEX_AI_INFERENCE_MODEL")
107+
else
108+
echo "VERTEX_AI_PROJECT is not set, skipping Vertex AI models"
109+
fi
110+
111+
for model in "${models_to_test[@]}"; do
99112
run_integration_tests "$model"
100113
done
101114
echo "Integration tests completed successfully!"

tests/smoke.sh

Lines changed: 50 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,29 +10,42 @@ source "$SCRIPT_DIR/test_utils.sh"
1010
LLAMA_STACK_BASE_URL="http://127.0.0.1:8321"
1111

1212
function start_and_wait_for_llama_stack_container {
13+
# Build docker run command with base arguments
14+
docker_args=(
15+
-d
16+
--pull=never
17+
--net=host
18+
-p 8321:8321
19+
--env "INFERENCE_MODEL=$VLLM_INFERENCE_MODEL"
20+
--env "EMBEDDING_MODEL=$EMBEDDING_MODEL"
21+
--env "VLLM_URL=$VLLM_URL"
22+
--env "ENABLE_SENTENCE_TRANSFORMERS=True"
23+
--env "EMBEDDING_PROVIDER=sentence-transformers"
24+
--env "TRUSTYAI_LMEVAL_USE_K8S=False"
25+
--env "POSTGRES_HOST=${POSTGRES_HOST:-localhost}"
26+
--env "POSTGRES_PORT=${POSTGRES_PORT:-5432}"
27+
--env "POSTGRES_DB=${POSTGRES_DB:-llamastack}"
28+
--env "POSTGRES_USER=${POSTGRES_USER:-llamastack}"
29+
--env "POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-llamastack}"
30+
)
31+
32+
# Only add Vertex AI configuration if VERTEX_AI_PROJECT is set
33+
if [ -n "${VERTEX_AI_PROJECT:-}" ]; then
34+
docker_args+=(
35+
--env "VERTEX_AI_PROJECT=$VERTEX_AI_PROJECT"
36+
--env "VERTEX_AI_LOCATION=$VERTEX_AI_LOCATION"
37+
--env "GOOGLE_APPLICATION_CREDENTIALS=/run/secrets/gcp-credentials"
38+
)
39+
# Only mount credentials if the file exists
40+
if [ -n "${GOOGLE_APPLICATION_CREDENTIALS:-}" ] && [ -f "$GOOGLE_APPLICATION_CREDENTIALS" ]; then
41+
docker_args+=(--volume "$GOOGLE_APPLICATION_CREDENTIALS:/run/secrets/gcp-credentials:ro")
42+
fi
43+
fi
44+
45+
docker_args+=(--name llama-stack "$IMAGE_NAME:$GITHUB_SHA")
46+
1347
# Start llama stack
14-
docker run \
15-
-d \
16-
--pull=never \
17-
--net=host \
18-
-p 8321:8321 \
19-
--env INFERENCE_MODEL="$VLLM_INFERENCE_MODEL" \
20-
--env EMBEDDING_MODEL="$EMBEDDING_MODEL" \
21-
--env VLLM_URL="$VLLM_URL" \
22-
--env ENABLE_SENTENCE_TRANSFORMERS=True \
23-
--env EMBEDDING_PROVIDER=sentence-transformers \
24-
--env TRUSTYAI_LMEVAL_USE_K8S=False \
25-
--env VERTEX_AI_PROJECT="$VERTEX_AI_PROJECT" \
26-
--env VERTEX_AI_LOCATION="$VERTEX_AI_LOCATION" \
27-
--env GOOGLE_APPLICATION_CREDENTIALS="/run/secrets/gcp-credentials" \
28-
--env POSTGRES_HOST="${POSTGRES_HOST:-localhost}" \
29-
--env POSTGRES_PORT="${POSTGRES_PORT:-5432}" \
30-
--env POSTGRES_DB="${POSTGRES_DB:-llamastack}" \
31-
--env POSTGRES_USER="${POSTGRES_USER:-llamastack}" \
32-
--env POSTGRES_PASSWORD="${POSTGRES_PASSWORD:-llamastack}" \
33-
--volume "$GOOGLE_APPLICATION_CREDENTIALS:/run/secrets/gcp-credentials:ro" \
34-
--name llama-stack \
35-
"$IMAGE_NAME:$GITHUB_SHA"
48+
docker run "${docker_args[@]}"
3649
echo "Started Llama Stack container..."
3750

3851
# Wait for llama stack to be ready by doing a health check
@@ -153,15 +166,28 @@ main() {
153166
# Track failures
154167
failed_checks=()
155168

169+
# Build list of models to test based on available configuration
170+
models_to_test=("$VLLM_INFERENCE_MODEL" "$EMBEDDING_MODEL")
171+
inference_models_to_test=("$VLLM_INFERENCE_MODEL")
172+
173+
# Only include Vertex AI models if VERTEX_AI_PROJECT is set
174+
if [ -n "${VERTEX_AI_PROJECT:-}" ]; then
175+
echo "===> VERTEX_AI_PROJECT is set, including Vertex AI models in tests"
176+
models_to_test+=("$VERTEX_AI_INFERENCE_MODEL")
177+
inference_models_to_test+=("$VERTEX_AI_INFERENCE_MODEL")
178+
else
179+
echo "===> VERTEX_AI_PROJECT is not set, skipping Vertex AI models"
180+
fi
181+
156182
echo "===> Testing model list for all models..."
157-
for model in "$VLLM_INFERENCE_MODEL" "$VERTEX_AI_INFERENCE_MODEL" "$EMBEDDING_MODEL"; do
183+
for model in "${models_to_test[@]}"; do
158184
if ! test_model_list "$model"; then
159185
failed_checks+=("model_list:$model")
160186
fi
161187
done
162188

163189
echo "===> Testing inference for all models..."
164-
for model in "$VLLM_INFERENCE_MODEL" "$VERTEX_AI_INFERENCE_MODEL"; do
190+
for model in "${inference_models_to_test[@]}"; do
165191
if ! test_model_openai_inference "$model"; then
166192
failed_checks+=("inference:$model")
167193
fi

0 commit comments

Comments
 (0)