From 64f797f74bd0cb6bf8292765a307c801bebc92d2 Mon Sep 17 00:00:00 2001 From: ZePan110 Date: Thu, 4 Sep 2025 15:18:53 +0800 Subject: [PATCH 01/14] refine UI test Signed-off-by: ZePan110 --- .github/workflows/_run-docker-compose.yml | 1 + ChatQnA/tests/test_compose_on_xeon.sh | 33 ----- .../tests/test_compose_pinecone_on_epyc.sh | 33 ----- .../tests/test_compose_pinecone_on_xeon.sh | 30 ----- ChatQnA/tests/test_compose_qdrant_on_epyc.sh | 34 ----- ChatQnA/tests/test_compose_qdrant_on_xeon.sh | 31 ----- ChatQnA/tests/test_compose_tgi_on_epyc.sh | 37 ------ ChatQnA/tests/test_compose_tgi_on_gaudi.sh | 34 ----- ChatQnA/tests/test_compose_tgi_on_xeon.sh | 34 ----- ChatQnA/tests/test_compose_vllm_on_rocm.sh | 33 ----- .../test_compose_without_rerank_on_epyc.sh | 37 ------ .../test_compose_without_rerank_on_gaudi.sh | 34 ----- .../test_compose_without_rerank_on_xeon.sh | 34 ----- ChatQnA/tests/test_ui.sh | 121 ++++++++++++++++++ 14 files changed, 122 insertions(+), 404 deletions(-) create mode 100644 ChatQnA/tests/test_ui.sh diff --git a/.github/workflows/_run-docker-compose.yml b/.github/workflows/_run-docker-compose.yml index 33efac6c0e..6c93b5b7da 100644 --- a/.github/workflows/_run-docker-compose.yml +++ b/.github/workflows/_run-docker-compose.yml @@ -106,6 +106,7 @@ jobs: fi done + run_test_cases="$run_test_cases test_ui.sh" if [ -z "$run_test_cases" ] && [[ $(printf '%s\n' "${changed_files[@]}" | grep ${{ inputs.example }} | grep /tests/) ]]; then run_test_cases=$other_test_cases fi diff --git a/ChatQnA/tests/test_compose_on_xeon.sh b/ChatQnA/tests/test_compose_on_xeon.sh index 965ddb34dd..5440fb12ea 100644 --- a/ChatQnA/tests/test_compose_on_xeon.sh +++ b/ChatQnA/tests/test_compose_on_xeon.sh @@ -132,35 +132,6 @@ function validate_megaservice() { } -function validate_frontend() { - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniforge3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - - source activate ${conda_env_name} - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - npm install && npm ci && npx playwright install --with-deps - node -v && npm -v && pip list - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { cd $WORKPATH/docker_compose/intel/cpu/xeon docker compose -f compose.yaml -f compose.telemetry.yaml down @@ -188,10 +159,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_pinecone_on_epyc.sh b/ChatQnA/tests/test_compose_pinecone_on_epyc.sh index 02bddd1450..40bb4cde77 100755 --- a/ChatQnA/tests/test_compose_pinecone_on_epyc.sh +++ b/ChatQnA/tests/test_compose_pinecone_on_epyc.sh @@ -176,39 +176,6 @@ function validate_megaservice() { } -function validate_frontend() { - echo "[ TEST INFO ]: --------- frontend test started ---------" - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniforge3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - CONDA_ROOT=$(conda info --base) - source "${CONDA_ROOT}/etc/profile.d/conda.sh" - conda activate ${conda_env_name} - echo "[ TEST INFO ]: --------- conda env activated ---------" - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - # npm install && npm ci && npx playwright install --with-deps - npm install && npm ci && npx playwright install - node -v && npm -v && pip list - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { echo "In stop docker" echo $WORKPATH diff --git a/ChatQnA/tests/test_compose_pinecone_on_xeon.sh b/ChatQnA/tests/test_compose_pinecone_on_xeon.sh index 64c8efc7df..e0d670fefe 100755 --- a/ChatQnA/tests/test_compose_pinecone_on_xeon.sh +++ b/ChatQnA/tests/test_compose_pinecone_on_xeon.sh @@ -174,36 +174,6 @@ function validate_megaservice() { } -function validate_frontend() { - echo "[ TEST INFO ]: --------- frontend test started ---------" - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniforge3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - source activate ${conda_env_name} - echo "[ TEST INFO ]: --------- conda env activated ---------" - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - npm install && npm ci && npx playwright install --with-deps - node -v && npm -v && pip list - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { echo "In stop docker" echo $WORKPATH diff --git a/ChatQnA/tests/test_compose_qdrant_on_epyc.sh b/ChatQnA/tests/test_compose_qdrant_on_epyc.sh index 1489a346c7..1bfd179971 100644 --- a/ChatQnA/tests/test_compose_qdrant_on_epyc.sh +++ b/ChatQnA/tests/test_compose_qdrant_on_epyc.sh @@ -167,36 +167,6 @@ function validate_megaservice() { } -function validate_frontend() { - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniforge3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - CONDA_ROOT=$(conda info --base) - source "${CONDA_ROOT}/etc/profile.d/conda.sh" - conda activate ${conda_env_name} - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - # npm install && npm ci && npx playwright install --with-deps - npm install && npm ci && npx playwright install - node -v && npm -v && pip list - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { cd $WORKPATH/docker_compose/amd/cpu/epyc docker compose -f compose_qdrant.yaml down @@ -224,10 +194,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_qdrant_on_xeon.sh b/ChatQnA/tests/test_compose_qdrant_on_xeon.sh index c7a17aac49..ffc6c093e0 100644 --- a/ChatQnA/tests/test_compose_qdrant_on_xeon.sh +++ b/ChatQnA/tests/test_compose_qdrant_on_xeon.sh @@ -159,33 +159,6 @@ function validate_megaservice() { } -function validate_frontend() { - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniforge3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - source activate ${conda_env_name} - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - npm install && npm ci && npx playwright install --with-deps - node -v && npm -v && pip list - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { cd $WORKPATH/docker_compose/intel/cpu/xeon docker compose -f compose_qdrant.yaml down @@ -213,10 +186,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_tgi_on_epyc.sh b/ChatQnA/tests/test_compose_tgi_on_epyc.sh index 81cce137e9..98efb16223 100644 --- a/ChatQnA/tests/test_compose_tgi_on_epyc.sh +++ b/ChatQnA/tests/test_compose_tgi_on_epyc.sh @@ -178,39 +178,6 @@ function validate_megaservice() { } -function validate_frontend() { - echo "[ TEST INFO ]: --------- frontend test started ---------" - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniforge3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - CONDA_ROOT=$(conda info --base) - source "${CONDA_ROOT}/etc/profile.d/conda.sh" - conda activate ${conda_env_name} - echo "[ TEST INFO ]: --------- conda env activated ---------" - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - # npm install && npm ci && npx playwright install --with-deps - npm install && npm ci && npx playwright install - node -v && npm -v && pip list - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { cd $WORKPATH/docker_compose/amd/cpu/epyc docker compose -f compose_tgi.yaml -f compose_tgi.telemetry.yaml down @@ -238,10 +205,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_tgi_on_gaudi.sh b/ChatQnA/tests/test_compose_tgi_on_gaudi.sh index 356914ea1c..b4aa9be586 100644 --- a/ChatQnA/tests/test_compose_tgi_on_gaudi.sh +++ b/ChatQnA/tests/test_compose_tgi_on_gaudi.sh @@ -172,36 +172,6 @@ function validate_megaservice() { } -function validate_frontend() { - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniforge3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - source activate ${conda_env_name} - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - npm install && npm ci && npx playwright install --with-deps - node -v && npm -v && pip list - - export no_proxy="localhost,127.0.0.1,$ip_address" - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { cd $WORKPATH/docker_compose/intel/hpu/gaudi docker compose -f compose_tgi.yaml -f compose_tgi.telemetry.yaml down @@ -229,10 +199,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_tgi_on_xeon.sh b/ChatQnA/tests/test_compose_tgi_on_xeon.sh index b2a56091a9..69831b5aa5 100644 --- a/ChatQnA/tests/test_compose_tgi_on_xeon.sh +++ b/ChatQnA/tests/test_compose_tgi_on_xeon.sh @@ -170,36 +170,6 @@ function validate_megaservice() { } -function validate_frontend() { - echo "[ TEST INFO ]: --------- frontend test started ---------" - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniforge3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - source activate ${conda_env_name} - echo "[ TEST INFO ]: --------- conda env activated ---------" - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - npm install && npm ci && npx playwright install --with-deps - node -v && npm -v && pip list - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { cd $WORKPATH/docker_compose/intel/cpu/xeon docker compose -f compose_tgi.yaml -f compose_tgi.telemetry.yaml down @@ -227,10 +197,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_vllm_on_rocm.sh b/ChatQnA/tests/test_compose_vllm_on_rocm.sh index 9f61c05b89..d0e856960f 100644 --- a/ChatQnA/tests/test_compose_vllm_on_rocm.sh +++ b/ChatQnA/tests/test_compose_vllm_on_rocm.sh @@ -129,35 +129,6 @@ function validate_megaservice() { } -function validate_frontend() { - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniconda3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - - source activate ${conda_env_name} - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - npm install && npm ci && npx playwright install --with-deps - node -v && npm -v && pip list - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { cd $WORKPATH/docker_compose/amd/gpu/rocm docker compose -f compose_vllm.yaml down @@ -185,10 +156,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_without_rerank_on_epyc.sh b/ChatQnA/tests/test_compose_without_rerank_on_epyc.sh index 06f96f9290..2d2cb805be 100644 --- a/ChatQnA/tests/test_compose_without_rerank_on_epyc.sh +++ b/ChatQnA/tests/test_compose_without_rerank_on_epyc.sh @@ -176,39 +176,6 @@ function validate_megaservice() { } -function validate_frontend() { - echo "[ TEST INFO ]: --------- frontend test started ---------" - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniforge3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - CONDA_ROOT=$(conda info --base) - source "${CONDA_ROOT}/etc/profile.d/conda.sh" - conda activate ${conda_env_name} - echo "[ TEST INFO ]: --------- conda env activated ---------" - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - # npm install && npm ci && npx playwright install --with-deps - npm install && npm ci && npx playwright install - node -v && npm -v && pip list - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { cd $WORKPATH/docker_compose/amd/cpu/epyc/ docker compose -f compose_without_rerank.yaml down @@ -236,10 +203,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_without_rerank_on_gaudi.sh b/ChatQnA/tests/test_compose_without_rerank_on_gaudi.sh index b6fb222b39..5dd5bd2ad9 100644 --- a/ChatQnA/tests/test_compose_without_rerank_on_gaudi.sh +++ b/ChatQnA/tests/test_compose_without_rerank_on_gaudi.sh @@ -166,36 +166,6 @@ function validate_megaservice() { } -function validate_frontend() { - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniforge3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - source activate ${conda_env_name} - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - npm install && npm ci && npx playwright install --with-deps - node -v && npm -v && pip list - - export no_proxy="localhost,127.0.0.1,$ip_address" - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { cd $WORKPATH/docker_compose/intel/hpu/gaudi docker compose -f compose_without_rerank.yaml down @@ -223,10 +193,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_without_rerank_on_xeon.sh b/ChatQnA/tests/test_compose_without_rerank_on_xeon.sh index f236a8ab76..f2836d5e85 100644 --- a/ChatQnA/tests/test_compose_without_rerank_on_xeon.sh +++ b/ChatQnA/tests/test_compose_without_rerank_on_xeon.sh @@ -169,36 +169,6 @@ function validate_megaservice() { } -function validate_frontend() { - echo "[ TEST INFO ]: --------- frontend test started ---------" - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniforge3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - source activate ${conda_env_name} - echo "[ TEST INFO ]: --------- conda env activated ---------" - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - npm install && npm ci && npx playwright install --with-deps - node -v && npm -v && pip list - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { cd $WORKPATH/docker_compose/intel/cpu/xeon/ docker compose -f compose_without_rerank.yaml down @@ -226,10 +196,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_ui.sh b/ChatQnA/tests/test_ui.sh new file mode 100644 index 0000000000..7036435b90 --- /dev/null +++ b/ChatQnA/tests/test_ui.sh @@ -0,0 +1,121 @@ +#!/bin/bash +# Copyright (C) 2024 Intel Corporation +# SPDX-License-Identifier: Apache-2.0 + +set -xe +IMAGE_REPO=${IMAGE_REPO:-"opea"} +IMAGE_TAG=${IMAGE_TAG:-"latest"} +echo "REGISTRY=IMAGE_REPO=${IMAGE_REPO}" +echo "TAG=IMAGE_TAG=${IMAGE_TAG}" +export REGISTRY=${IMAGE_REPO} +export TAG=${IMAGE_TAG} +export MODEL_CACHE=${model_cache:-"./data"} + +WORKPATH=$(dirname "$PWD") +LOG_PATH="$WORKPATH/tests" +ip_address=$(hostname -I | awk '{print $1}') + +function build_docker_images() { + opea_branch=${opea_branch:-"main"} + cd $WORKPATH/docker_image_build + git clone --depth 1 --branch ${opea_branch} https://github.com/opea-project/GenAIComps.git + pushd GenAIComps + echo "GenAIComps test commit is $(git rev-parse HEAD)" + docker build --no-cache -t ${REGISTRY}/comps-base:${TAG} --build-arg https_proxy=$https_proxy --build-arg http_proxy=$http_proxy -f Dockerfile . + popd && sleep 1s + git clone https://github.com/vllm-project/vllm.git && cd vllm + VLLM_VER=v0.10.0 + echo "Check out vLLM tag ${VLLM_VER}" + git checkout ${VLLM_VER} &> /dev/null + # make sure NOT change the pwd + cd ../ + + echo "Build all the images with --no-cache, check docker_image_build.log for details..." + service_list="chatqna chatqna-ui dataprep retriever vllm nginx" + docker compose -f build.yaml build ${service_list} --no-cache > ${LOG_PATH}/docker_image_build.log + + docker images && sleep 1s +} + +function start_services() { + cd $WORKPATH/docker_compose/intel/cpu/xeon + + source set_env.sh + + # Start Docker Containers + docker compose -f compose.yaml -f compose.telemetry.yaml up -d --quiet-pull > ${LOG_PATH}/start_services_with_compose.log + n=0 + until [[ "$n" -ge 100 ]]; do + docker logs vllm-service > ${LOG_PATH}/vllm_service_start.log 2>&1 + if grep -q complete ${LOG_PATH}/vllm_service_start.log; then + break + fi + sleep 5s + n=$((n+1)) + done +} + +function validate_frontend() { + echo "[ TEST INFO ]: --------- frontend test started ---------" + cd $WORKPATH/ui/svelte + local conda_env_name="OPEA_e2e" + export PATH=${HOME}/miniforge3/bin/:$PATH + if conda info --envs | grep -q "$conda_env_name"; then + echo "$conda_env_name exist!" + else + conda create -n ${conda_env_name} python=3.12 -y + fi + + source activate ${conda_env_name} + + sed -i "s/localhost/$ip_address/g" playwright.config.ts + + conda install -c conda-forge nodejs=22.6.0 -y + npm install && npm ci && npx playwright install --with-deps + node -v && npm -v && pip list + + export no_proxy="localhost,127.0.0.1,$ip_address" + + exit_status=0 + npx playwright test || exit_status=$? + + if [ $exit_status -ne 0 ]; then + echo "[TEST INFO]: ---------frontend test failed---------" + exit $exit_status + else + echo "[TEST INFO]: ---------frontend test passed---------" + fi +} + +function stop_docker() { + cd $WORKPATH/docker_compose/intel/cpu/xeon + docker compose -f compose.yaml -f compose.telemetry.yaml down +} + +function main() { + + echo "::group::stop_docker" + stop_docker + echo "::endgroup::" + + echo "::group::build_docker_images" + if [[ "$IMAGE_REPO" == "opea" ]]; then build_docker_images; fi + echo "::endgroup::" + + echo "::group::start_services" + start_services + echo "::endgroup::" + + echo "::group::validate_frontend" + validate_frontend + echo "::endgroup::" + + echo "::group::stop_docker" + stop_docker + echo "::endgroup::" + + docker system prune -f + +} + +main From 919da8548ababe17e79f261cc18e05db3b83fa2f Mon Sep 17 00:00:00 2001 From: ZePan110 Date: Thu, 4 Sep 2025 16:37:01 +0800 Subject: [PATCH 02/14] Rename ui test Signed-off-by: ZePan110 --- ChatQnA/tests/{test_ui.sh => test_ui_on_xeon.sh} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename ChatQnA/tests/{test_ui.sh => test_ui_on_xeon.sh} (100%) diff --git a/ChatQnA/tests/test_ui.sh b/ChatQnA/tests/test_ui_on_xeon.sh similarity index 100% rename from ChatQnA/tests/test_ui.sh rename to ChatQnA/tests/test_ui_on_xeon.sh From c44eebb43876d7f52f7028b1d73fabfe364035ec Mon Sep 17 00:00:00 2001 From: ZePan110 Date: Thu, 4 Sep 2025 16:44:12 +0800 Subject: [PATCH 03/14] Fix Signed-off-by: ZePan110 --- .github/workflows/_run-docker-compose.yml | 4 ++-- .github/workflows/pr-docker-compose-e2e.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/_run-docker-compose.yml b/.github/workflows/_run-docker-compose.yml index 6c93b5b7da..360fd5d4b6 100644 --- a/.github/workflows/_run-docker-compose.yml +++ b/.github/workflows/_run-docker-compose.yml @@ -105,12 +105,12 @@ jobs: run_test_cases="$run_test_cases $test_case" fi done - - run_test_cases="$run_test_cases test_ui.sh" + if [ -z "$run_test_cases" ] && [[ $(printf '%s\n' "${changed_files[@]}" | grep ${{ inputs.example }} | grep /tests/) ]]; then run_test_cases=$other_test_cases fi + if [[ "${{ hardware }}" == "xeon"* ]]; then run_test_cases="$run_test_cases test_ui_on_xeon.sh"; fi test_cases=$(echo $run_test_cases | tr ' ' '\n' | sort -u | jq -R '.' | jq -sc '.') echo "test_cases=$test_cases" echo "test_cases=$test_cases" >> $GITHUB_OUTPUT diff --git a/.github/workflows/pr-docker-compose-e2e.yml b/.github/workflows/pr-docker-compose-e2e.yml index 26a5c978ea..b76696a40c 100644 --- a/.github/workflows/pr-docker-compose-e2e.yml +++ b/.github/workflows/pr-docker-compose-e2e.yml @@ -7,7 +7,7 @@ permissions: contents: read on: - pull_request_target: + pull_request: #_target: branches: ["main", "*rc"] types: [opened, reopened, ready_for_review, synchronize] # added `ready_for_review` since draft is skipped paths: From f9ee8d4a44de7435ff6acb6e5a7df0f9c28f0d77 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 4 Sep 2025 08:57:22 +0000 Subject: [PATCH 04/14] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- .github/workflows/_run-docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/_run-docker-compose.yml b/.github/workflows/_run-docker-compose.yml index 360fd5d4b6..e81856e6a6 100644 --- a/.github/workflows/_run-docker-compose.yml +++ b/.github/workflows/_run-docker-compose.yml @@ -105,7 +105,7 @@ jobs: run_test_cases="$run_test_cases $test_case" fi done - + if [ -z "$run_test_cases" ] && [[ $(printf '%s\n' "${changed_files[@]}" | grep ${{ inputs.example }} | grep /tests/) ]]; then run_test_cases=$other_test_cases fi From 54622f196142212d6a1a759c1226398e8c1d31e1 Mon Sep 17 00:00:00 2001 From: ZePan110 Date: Fri, 5 Sep 2025 09:11:59 +0800 Subject: [PATCH 05/14] test Signed-off-by: ZePan110 --- .github/workflows/pr-docker-compose-e2e.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-docker-compose-e2e.yml b/.github/workflows/pr-docker-compose-e2e.yml index b76696a40c..26a5c978ea 100644 --- a/.github/workflows/pr-docker-compose-e2e.yml +++ b/.github/workflows/pr-docker-compose-e2e.yml @@ -7,7 +7,7 @@ permissions: contents: read on: - pull_request: #_target: + pull_request_target: branches: ["main", "*rc"] types: [opened, reopened, ready_for_review, synchronize] # added `ready_for_review` since draft is skipped paths: From b379686c6c9a5382d12898851f901ca91c3aa880 Mon Sep 17 00:00:00 2001 From: ZePan110 Date: Fri, 12 Sep 2025 15:02:04 +0800 Subject: [PATCH 06/14] test Signed-off-by: ZePan110 --- .github/workflows/pr-docker-compose-e2e.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-docker-compose-e2e.yml b/.github/workflows/pr-docker-compose-e2e.yml index 26a5c978ea..b76696a40c 100644 --- a/.github/workflows/pr-docker-compose-e2e.yml +++ b/.github/workflows/pr-docker-compose-e2e.yml @@ -7,7 +7,7 @@ permissions: contents: read on: - pull_request_target: + pull_request: #_target: branches: ["main", "*rc"] types: [opened, reopened, ready_for_review, synchronize] # added `ready_for_review` since draft is skipped paths: From a31a69df3203edc3a546a82249d5089cbaca34d2 Mon Sep 17 00:00:00 2001 From: ZePan110 Date: Thu, 18 Sep 2025 14:24:09 +0800 Subject: [PATCH 07/14] test Signed-off-by: ZePan110 --- .github/workflows/pr-docker-compose-e2e.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-docker-compose-e2e.yml b/.github/workflows/pr-docker-compose-e2e.yml index b76696a40c..4947cae096 100644 --- a/.github/workflows/pr-docker-compose-e2e.yml +++ b/.github/workflows/pr-docker-compose-e2e.yml @@ -8,7 +8,7 @@ permissions: on: pull_request: #_target: - branches: ["main", "*rc"] + branches: ["main", "*rc", "ze-opt/ui-test"] types: [opened, reopened, ready_for_review, synchronize] # added `ready_for_review` since draft is skipped paths: - "**/Dockerfile**" From 63bff6ee7434bb207bedcc77e4ba9c2556f6d948 Mon Sep 17 00:00:00 2001 From: ZePan110 Date: Thu, 18 Sep 2025 15:16:08 +0800 Subject: [PATCH 08/14] TEst Signed-off-by: ZePan110 --- .github/workflows/pr-docker-compose-e2e.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-docker-compose-e2e.yml b/.github/workflows/pr-docker-compose-e2e.yml index 4947cae096..a163c5ead6 100644 --- a/.github/workflows/pr-docker-compose-e2e.yml +++ b/.github/workflows/pr-docker-compose-e2e.yml @@ -58,7 +58,7 @@ jobs: strategy: matrix: ${{ fromJSON(needs.get-test-matrix.outputs.run_matrix) }} fail-fast: false - uses: ./.github/workflows/_run-docker-compose.yml + uses: opea-project/GenAIExamples/.github/workflows/_run-docker-compose.yml@ze-opt/ui with: registry: "opea" tag: "ci" From 87a66b35510e34f1ca202dc5a07179a364d05d11 Mon Sep 17 00:00:00 2001 From: ZePan110 Date: Thu, 18 Sep 2025 17:48:00 +0800 Subject: [PATCH 09/14] Rename UI test script. Signed-off-by: ZePan110 --- ChatQnA/tests/{test_ui_on_xeon.sh => test_compose_ui_on_xeon.sh} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename ChatQnA/tests/{test_ui_on_xeon.sh => test_compose_ui_on_xeon.sh} (100%) diff --git a/ChatQnA/tests/test_ui_on_xeon.sh b/ChatQnA/tests/test_compose_ui_on_xeon.sh similarity index 100% rename from ChatQnA/tests/test_ui_on_xeon.sh rename to ChatQnA/tests/test_compose_ui_on_xeon.sh From d60449c1a406480e3e279edf0bce42c3907d3e50 Mon Sep 17 00:00:00 2001 From: ZePan110 Date: Fri, 19 Sep 2025 08:32:29 +0800 Subject: [PATCH 10/14] Fix issue Signed-off-by: ZePan110 --- ChatQnA/tests/test_compose_ui_on_xeon.sh | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/ChatQnA/tests/test_compose_ui_on_xeon.sh b/ChatQnA/tests/test_compose_ui_on_xeon.sh index 7036435b90..0a4e61474a 100644 --- a/ChatQnA/tests/test_compose_ui_on_xeon.sh +++ b/ChatQnA/tests/test_compose_ui_on_xeon.sh @@ -23,15 +23,9 @@ function build_docker_images() { echo "GenAIComps test commit is $(git rev-parse HEAD)" docker build --no-cache -t ${REGISTRY}/comps-base:${TAG} --build-arg https_proxy=$https_proxy --build-arg http_proxy=$http_proxy -f Dockerfile . popd && sleep 1s - git clone https://github.com/vllm-project/vllm.git && cd vllm - VLLM_VER=v0.10.0 - echo "Check out vLLM tag ${VLLM_VER}" - git checkout ${VLLM_VER} &> /dev/null - # make sure NOT change the pwd - cd ../ echo "Build all the images with --no-cache, check docker_image_build.log for details..." - service_list="chatqna chatqna-ui dataprep retriever vllm nginx" + service_list="chatqna chatqna-ui dataprep retriever nginx" docker compose -f build.yaml build ${service_list} --no-cache > ${LOG_PATH}/docker_image_build.log docker images && sleep 1s From 972933e704ab8c98cb825d2d943e52878d61cfa5 Mon Sep 17 00:00:00 2001 From: ZePan110 Date: Fri, 19 Sep 2025 09:38:10 +0800 Subject: [PATCH 11/14] Fix workflow Signed-off-by: ZePan110 --- .github/workflows/_run-docker-compose.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/_run-docker-compose.yml b/.github/workflows/_run-docker-compose.yml index e81856e6a6..f7a433f213 100644 --- a/.github/workflows/_run-docker-compose.yml +++ b/.github/workflows/_run-docker-compose.yml @@ -110,7 +110,11 @@ jobs: run_test_cases=$other_test_cases fi - if [[ "${{ hardware }}" == "xeon"* ]]; then run_test_cases="$run_test_cases test_ui_on_xeon.sh"; fi + if [[ "${{ hardware }}" == "xeon"* ]]; then + if [ -f "${{ github.workspace }}/${{ inputs.example }}/tests/test_ui_on_xeon.sh" ]; then + run_test_cases="$run_test_cases test_ui_on_xeon.sh"; + fi + fi test_cases=$(echo $run_test_cases | tr ' ' '\n' | sort -u | jq -R '.' | jq -sc '.') echo "test_cases=$test_cases" echo "test_cases=$test_cases" >> $GITHUB_OUTPUT From 91bc096a6b343c62449652cfe6b9b7600d04cd75 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 19 Sep 2025 01:41:46 +0000 Subject: [PATCH 12/14] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- .github/workflows/_run-docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/_run-docker-compose.yml b/.github/workflows/_run-docker-compose.yml index f7a433f213..21bcfc5a20 100644 --- a/.github/workflows/_run-docker-compose.yml +++ b/.github/workflows/_run-docker-compose.yml @@ -112,7 +112,7 @@ jobs: if [[ "${{ hardware }}" == "xeon"* ]]; then if [ -f "${{ github.workspace }}/${{ inputs.example }}/tests/test_ui_on_xeon.sh" ]; then - run_test_cases="$run_test_cases test_ui_on_xeon.sh"; + run_test_cases="$run_test_cases test_ui_on_xeon.sh"; fi fi test_cases=$(echo $run_test_cases | tr ' ' '\n' | sort -u | jq -R '.' | jq -sc '.') From 3824df815b041b4bd79b4ecf9a31bcc9a887a655 Mon Sep 17 00:00:00 2001 From: ZePan110 Date: Fri, 19 Sep 2025 13:00:49 +0800 Subject: [PATCH 13/14] Cont. Signed-off-by: ZePan110 --- ChatQnA/tests/test_compose_faqgen_on_epyc.sh | 35 ------------------ ChatQnA/tests/test_compose_faqgen_on_gaudi.sh | 32 ---------------- ChatQnA/tests/test_compose_faqgen_on_rocm.sh | 34 ----------------- ChatQnA/tests/test_compose_faqgen_on_xeon.sh | 32 ---------------- .../tests/test_compose_faqgen_tgi_on_epyc.sh | 35 ------------------ .../tests/test_compose_faqgen_tgi_on_gaudi.sh | 32 ---------------- .../tests/test_compose_faqgen_tgi_on_xeon.sh | 32 ---------------- .../tests/test_compose_faqgen_vllm_on_rocm.sh | 33 ----------------- .../tests/test_compose_guardrails_on_gaudi.sh | 32 ---------------- ChatQnA/tests/test_compose_milvus_on_epyc.sh | 37 ------------------- ChatQnA/tests/test_compose_milvus_on_xeon.sh | 34 ----------------- ChatQnA/tests/test_compose_on_epyc.sh | 37 ------------------- ChatQnA/tests/test_compose_on_gaudi.sh | 34 ----------------- ChatQnA/tests/test_compose_on_rocm.sh | 34 ----------------- .../tests/test_compose_openeuler_on_xeon.sh | 4 -- ChatQnA/tests/test_compose_ui_on_xeon.sh | 36 ------------------ 16 files changed, 513 deletions(-) diff --git a/ChatQnA/tests/test_compose_faqgen_on_epyc.sh b/ChatQnA/tests/test_compose_faqgen_on_epyc.sh index 1571349095..b4e4e44ce6 100644 --- a/ChatQnA/tests/test_compose_faqgen_on_epyc.sh +++ b/ChatQnA/tests/test_compose_faqgen_on_epyc.sh @@ -206,37 +206,6 @@ function validate_megaservice() { } -function validate_frontend() { - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniforge3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - CONDA_ROOT=$(conda info --base) - source "${CONDA_ROOT}/etc/profile.d/conda.sh" - conda activate ${conda_env_name} - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - # npm install && npm ci && npx playwright install --with-deps - npm install && npm ci && npx playwright install - node -v && npm -v && pip list - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { cd $WORKPATH/docker_compose/amd/cpu/epyc docker compose -f compose_faqgen.yaml down @@ -264,10 +233,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_faqgen_on_gaudi.sh b/ChatQnA/tests/test_compose_faqgen_on_gaudi.sh index 58ab7526c2..635317624f 100644 --- a/ChatQnA/tests/test_compose_faqgen_on_gaudi.sh +++ b/ChatQnA/tests/test_compose_faqgen_on_gaudi.sh @@ -187,34 +187,6 @@ function validate_megaservice() { } -function validate_frontend() { - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniforge3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - source activate ${conda_env_name} - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - npm install && npm ci && npx playwright install --with-deps - node -v && npm -v && pip list - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { cd $WORKPATH/docker_compose/intel/hpu/gaudi docker compose -f compose_faqgen.yaml down @@ -242,10 +214,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_faqgen_on_rocm.sh b/ChatQnA/tests/test_compose_faqgen_on_rocm.sh index 893807377f..e3248c7999 100644 --- a/ChatQnA/tests/test_compose_faqgen_on_rocm.sh +++ b/ChatQnA/tests/test_compose_faqgen_on_rocm.sh @@ -163,36 +163,6 @@ function validate_megaservice() { } -function validate_frontend() { - echo "[ TEST INFO ]: --------- frontend test started ---------" - cd "$WORKPATH"/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniconda3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - source activate ${conda_env_name} - echo "[ TEST INFO ]: --------- conda env activated ---------" - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - npm install && npm ci && npx playwright install --with-deps - node -v && npm -v && pip list - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { cd "$WORKPATH"/docker_compose/amd/gpu/rocm docker compose -f compose_faqgen.yaml stop && docker compose rm -f @@ -220,10 +190,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_faqgen_on_xeon.sh b/ChatQnA/tests/test_compose_faqgen_on_xeon.sh index bb18e3db55..bbab66e939 100644 --- a/ChatQnA/tests/test_compose_faqgen_on_xeon.sh +++ b/ChatQnA/tests/test_compose_faqgen_on_xeon.sh @@ -198,34 +198,6 @@ function validate_megaservice() { } -function validate_frontend() { - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniforge3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - source activate ${conda_env_name} - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - npm install && npm ci && npx playwright install --with-deps - node -v && npm -v && pip list - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { cd $WORKPATH/docker_compose/intel/cpu/xeon docker compose -f compose_faqgen.yaml down @@ -253,10 +225,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_faqgen_tgi_on_epyc.sh b/ChatQnA/tests/test_compose_faqgen_tgi_on_epyc.sh index 75d86a4a6e..ab59575366 100644 --- a/ChatQnA/tests/test_compose_faqgen_tgi_on_epyc.sh +++ b/ChatQnA/tests/test_compose_faqgen_tgi_on_epyc.sh @@ -206,37 +206,6 @@ function validate_megaservice() { } -function validate_frontend() { - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniforge3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - CONDA_ROOT=$(conda info --base) - source "${CONDA_ROOT}/etc/profile.d/conda.sh" - conda activate ${conda_env_name} - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - # npm install && npm ci && npx playwright install --with-deps - npm install && npm ci && npx playwright install - node -v && npm -v && pip list - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { cd $WORKPATH/docker_compose/amd/cpu/epyc docker compose -f compose_faqgen_tgi.yaml down @@ -264,10 +233,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_faqgen_tgi_on_gaudi.sh b/ChatQnA/tests/test_compose_faqgen_tgi_on_gaudi.sh index e9868e0052..d8f4428315 100644 --- a/ChatQnA/tests/test_compose_faqgen_tgi_on_gaudi.sh +++ b/ChatQnA/tests/test_compose_faqgen_tgi_on_gaudi.sh @@ -185,34 +185,6 @@ function validate_megaservice() { } -function validate_frontend() { - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniforge3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - source activate ${conda_env_name} - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - npm install && npm ci && npx playwright install --with-deps - node -v && npm -v && pip list - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { cd $WORKPATH/docker_compose/intel/hpu/gaudi docker compose -f compose_faqgen_tgi.yaml down @@ -240,10 +212,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_faqgen_tgi_on_xeon.sh b/ChatQnA/tests/test_compose_faqgen_tgi_on_xeon.sh index d0b823f204..ca3993b8be 100644 --- a/ChatQnA/tests/test_compose_faqgen_tgi_on_xeon.sh +++ b/ChatQnA/tests/test_compose_faqgen_tgi_on_xeon.sh @@ -198,34 +198,6 @@ function validate_megaservice() { } -function validate_frontend() { - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniforge3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - source activate ${conda_env_name} - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - npm install && npm ci && npx playwright install --with-deps - node -v && npm -v && pip list - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { cd $WORKPATH/docker_compose/intel/cpu/xeon docker compose -f compose_faqgen_tgi.yaml down @@ -253,10 +225,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_faqgen_vllm_on_rocm.sh b/ChatQnA/tests/test_compose_faqgen_vllm_on_rocm.sh index f344f0030a..8c24185f31 100644 --- a/ChatQnA/tests/test_compose_faqgen_vllm_on_rocm.sh +++ b/ChatQnA/tests/test_compose_faqgen_vllm_on_rocm.sh @@ -138,35 +138,6 @@ function validate_megaservice() { } -function validate_frontend() { - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniconda3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - - source activate ${conda_env_name} - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - npm install && npm ci && npx playwright install --with-deps - node -v && npm -v && pip list - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { cd $WORKPATH/docker_compose/amd/gpu/rocm docker compose -f compose_vllm.yaml down @@ -194,10 +165,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_guardrails_on_gaudi.sh b/ChatQnA/tests/test_compose_guardrails_on_gaudi.sh index da8bc25b48..340771492e 100644 --- a/ChatQnA/tests/test_compose_guardrails_on_gaudi.sh +++ b/ChatQnA/tests/test_compose_guardrails_on_gaudi.sh @@ -154,34 +154,6 @@ function validate_megaservice() { } -function validate_frontend() { - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniforge3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - source activate ${conda_env_name} - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - npm install && npm ci && npx playwright install --with-deps - node -v && npm -v && pip list - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { cd $WORKPATH/docker_compose/intel/hpu/gaudi docker compose -f compose_guardrails.yaml down @@ -209,10 +181,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_milvus_on_epyc.sh b/ChatQnA/tests/test_compose_milvus_on_epyc.sh index 851f6cb33d..c3dae8bdf1 100644 --- a/ChatQnA/tests/test_compose_milvus_on_epyc.sh +++ b/ChatQnA/tests/test_compose_milvus_on_epyc.sh @@ -181,39 +181,6 @@ function validate_megaservice() { } -function validate_frontend() { - echo "[ TEST INFO ]: --------- frontend test started ---------" - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniforge3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - CONDA_ROOT=$(conda info --base) - source "${CONDA_ROOT}/etc/profile.d/conda.sh" - conda activate ${conda_env_name} - echo "[ TEST INFO ]: --------- conda env activated ---------" - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - # npm install && npm ci && npx playwright install --with-deps - npm install && npm ci && npx playwright install - node -v && npm -v && pip list - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { echo "In stop docker" echo $WORKPATH @@ -243,10 +210,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_milvus_on_xeon.sh b/ChatQnA/tests/test_compose_milvus_on_xeon.sh index 2bd97cb05a..385c7bf5e4 100644 --- a/ChatQnA/tests/test_compose_milvus_on_xeon.sh +++ b/ChatQnA/tests/test_compose_milvus_on_xeon.sh @@ -175,36 +175,6 @@ function validate_megaservice() { } -function validate_frontend() { - echo "[ TEST INFO ]: --------- frontend test started ---------" - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniforge3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - source activate ${conda_env_name} - echo "[ TEST INFO ]: --------- conda env activated ---------" - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - npm install && npm ci && npx playwright install --with-deps - node -v && npm -v && pip list - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { echo "In stop docker" echo $WORKPATH @@ -234,10 +204,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_on_epyc.sh b/ChatQnA/tests/test_compose_on_epyc.sh index 851f6cb33d..c3dae8bdf1 100644 --- a/ChatQnA/tests/test_compose_on_epyc.sh +++ b/ChatQnA/tests/test_compose_on_epyc.sh @@ -181,39 +181,6 @@ function validate_megaservice() { } -function validate_frontend() { - echo "[ TEST INFO ]: --------- frontend test started ---------" - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniforge3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - CONDA_ROOT=$(conda info --base) - source "${CONDA_ROOT}/etc/profile.d/conda.sh" - conda activate ${conda_env_name} - echo "[ TEST INFO ]: --------- conda env activated ---------" - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - # npm install && npm ci && npx playwright install --with-deps - npm install && npm ci && npx playwright install - node -v && npm -v && pip list - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { echo "In stop docker" echo $WORKPATH @@ -243,10 +210,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_on_gaudi.sh b/ChatQnA/tests/test_compose_on_gaudi.sh index 221f59c6e5..cd585caf31 100644 --- a/ChatQnA/tests/test_compose_on_gaudi.sh +++ b/ChatQnA/tests/test_compose_on_gaudi.sh @@ -133,36 +133,6 @@ function validate_megaservice() { } -function validate_frontend() { - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniforge3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - source activate ${conda_env_name} - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - npm install && npm ci && npx playwright install --with-deps - node -v && npm -v && pip list - - export no_proxy="localhost,127.0.0.1,$ip_address" - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { cd $WORKPATH/docker_compose/intel/hpu/gaudi docker compose -f compose.yaml -f compose.telemetry.yaml down @@ -190,10 +160,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_on_rocm.sh b/ChatQnA/tests/test_compose_on_rocm.sh index 5e31ea9969..63d978b92b 100644 --- a/ChatQnA/tests/test_compose_on_rocm.sh +++ b/ChatQnA/tests/test_compose_on_rocm.sh @@ -148,36 +148,6 @@ function validate_megaservice() { } -function validate_frontend() { - echo "[ TEST INFO ]: --------- frontend test started ---------" - cd "$WORKPATH"/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniconda3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - source activate ${conda_env_name} - echo "[ TEST INFO ]: --------- conda env activated ---------" - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - npm install && npm ci && npx playwright install --with-deps - node -v && npm -v && pip list - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { cd "$WORKPATH"/docker_compose/amd/gpu/rocm docker compose stop && docker compose rm -f @@ -205,10 +175,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_openeuler_on_xeon.sh b/ChatQnA/tests/test_compose_openeuler_on_xeon.sh index 5f641f5d62..96f08c1e28 100644 --- a/ChatQnA/tests/test_compose_openeuler_on_xeon.sh +++ b/ChatQnA/tests/test_compose_openeuler_on_xeon.sh @@ -183,10 +183,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" diff --git a/ChatQnA/tests/test_compose_ui_on_xeon.sh b/ChatQnA/tests/test_compose_ui_on_xeon.sh index 0a4e61474a..5c3eb88d3f 100644 --- a/ChatQnA/tests/test_compose_ui_on_xeon.sh +++ b/ChatQnA/tests/test_compose_ui_on_xeon.sh @@ -49,38 +49,6 @@ function start_services() { done } -function validate_frontend() { - echo "[ TEST INFO ]: --------- frontend test started ---------" - cd $WORKPATH/ui/svelte - local conda_env_name="OPEA_e2e" - export PATH=${HOME}/miniforge3/bin/:$PATH - if conda info --envs | grep -q "$conda_env_name"; then - echo "$conda_env_name exist!" - else - conda create -n ${conda_env_name} python=3.12 -y - fi - - source activate ${conda_env_name} - - sed -i "s/localhost/$ip_address/g" playwright.config.ts - - conda install -c conda-forge nodejs=22.6.0 -y - npm install && npm ci && npx playwright install --with-deps - node -v && npm -v && pip list - - export no_proxy="localhost,127.0.0.1,$ip_address" - - exit_status=0 - npx playwright test || exit_status=$? - - if [ $exit_status -ne 0 ]; then - echo "[TEST INFO]: ---------frontend test failed---------" - exit $exit_status - else - echo "[TEST INFO]: ---------frontend test passed---------" - fi -} - function stop_docker() { cd $WORKPATH/docker_compose/intel/cpu/xeon docker compose -f compose.yaml -f compose.telemetry.yaml down @@ -100,10 +68,6 @@ function main() { start_services echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::" From d2778098fcc8cd704c0f93c063ac8f9ad2951d6c Mon Sep 17 00:00:00 2001 From: ZePan110 Date: Fri, 19 Sep 2025 16:02:22 +0800 Subject: [PATCH 14/14] Remove test code Signed-off-by: ZePan110 --- .github/workflows/pr-docker-compose-e2e.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr-docker-compose-e2e.yml b/.github/workflows/pr-docker-compose-e2e.yml index a163c5ead6..26a5c978ea 100644 --- a/.github/workflows/pr-docker-compose-e2e.yml +++ b/.github/workflows/pr-docker-compose-e2e.yml @@ -7,8 +7,8 @@ permissions: contents: read on: - pull_request: #_target: - branches: ["main", "*rc", "ze-opt/ui-test"] + pull_request_target: + branches: ["main", "*rc"] types: [opened, reopened, ready_for_review, synchronize] # added `ready_for_review` since draft is skipped paths: - "**/Dockerfile**" @@ -58,7 +58,7 @@ jobs: strategy: matrix: ${{ fromJSON(needs.get-test-matrix.outputs.run_matrix) }} fail-fast: false - uses: opea-project/GenAIExamples/.github/workflows/_run-docker-compose.yml@ze-opt/ui + uses: ./.github/workflows/_run-docker-compose.yml with: registry: "opea" tag: "ci"