diff --git a/.github/workflows/_run-docker-compose.yml b/.github/workflows/_run-docker-compose.yml index 33efac6c0e..21bcfc5a20 100644 --- a/.github/workflows/_run-docker-compose.yml +++ b/.github/workflows/_run-docker-compose.yml @@ -110,6 +110,11 @@ jobs: run_test_cases=$other_test_cases 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 diff --git a/ChatQnA/tests/test_compose_faqgen_on_epyc.sh b/ChatQnA/tests/test_compose_faqgen_on_epyc.sh index 04a8929651..c480fd1f2e 100644 --- a/ChatQnA/tests/test_compose_faqgen_on_epyc.sh +++ b/ChatQnA/tests/test_compose_faqgen_on_epyc.sh @@ -196,37 +196,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 @@ -254,10 +223,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 fe3e46809b..08e718e1ca 100644 --- a/ChatQnA/tests/test_compose_faqgen_on_gaudi.sh +++ b/ChatQnA/tests/test_compose_faqgen_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.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_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 4a9e51fb6a..76270813a8 100644 --- a/ChatQnA/tests/test_compose_faqgen_on_xeon.sh +++ b/ChatQnA/tests/test_compose_faqgen_on_xeon.sh @@ -194,34 +194,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 @@ -249,10 +221,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 6c3c27d366..d9800d543e 100644 --- a/ChatQnA/tests/test_compose_faqgen_tgi_on_epyc.sh +++ b/ChatQnA/tests/test_compose_faqgen_tgi_on_epyc.sh @@ -196,37 +196,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 @@ -254,10 +223,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 e4fe73f9f1..b346d8018d 100644 --- a/ChatQnA/tests/test_compose_faqgen_tgi_on_gaudi.sh +++ b/ChatQnA/tests/test_compose_faqgen_tgi_on_gaudi.sh @@ -186,34 +186,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 @@ -241,10 +213,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 0e261159cb..09bfffabe1 100644 --- a/ChatQnA/tests/test_compose_guardrails_on_gaudi.sh +++ b/ChatQnA/tests/test_compose_guardrails_on_gaudi.sh @@ -151,34 +151,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 @@ -206,10 +178,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 212bed7a64..efba619f58 100644 --- a/ChatQnA/tests/test_compose_milvus_on_epyc.sh +++ b/ChatQnA/tests/test_compose_milvus_on_epyc.sh @@ -171,39 +171,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 @@ -233,10 +200,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 31e470f429..338c5515dc 100644 --- a/ChatQnA/tests/test_compose_milvus_on_xeon.sh +++ b/ChatQnA/tests/test_compose_milvus_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() { echo "In stop docker" echo $WORKPATH @@ -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_on_epyc.sh b/ChatQnA/tests/test_compose_on_epyc.sh index 212bed7a64..efba619f58 100644 --- a/ChatQnA/tests/test_compose_on_epyc.sh +++ b/ChatQnA/tests/test_compose_on_epyc.sh @@ -171,39 +171,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 @@ -233,10 +200,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 090f907a2d..ace8e10b41 100644 --- a/ChatQnA/tests/test_compose_on_gaudi.sh +++ b/ChatQnA/tests/test_compose_on_gaudi.sh @@ -130,36 +130,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 @@ -187,10 +157,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_on_xeon.sh b/ChatQnA/tests/test_compose_on_xeon.sh index 21a7b7676f..a241e4eeff 100644 --- a/ChatQnA/tests/test_compose_on_xeon.sh +++ b/ChatQnA/tests/test_compose_on_xeon.sh @@ -126,35 +126,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 @@ -182,10 +153,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 ed6e7ed0d4..4b270360ca 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_pinecone_on_epyc.sh b/ChatQnA/tests/test_compose_pinecone_on_epyc.sh index cb1341d921..10bb819ca5 100755 --- a/ChatQnA/tests/test_compose_pinecone_on_epyc.sh +++ b/ChatQnA/tests/test_compose_pinecone_on_epyc.sh @@ -166,39 +166,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 c3961600ed..f5efee6c80 100755 --- a/ChatQnA/tests/test_compose_pinecone_on_xeon.sh +++ b/ChatQnA/tests/test_compose_pinecone_on_xeon.sh @@ -168,36 +168,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 092bfb0bb1..e93983ec31 100644 --- a/ChatQnA/tests/test_compose_qdrant_on_epyc.sh +++ b/ChatQnA/tests/test_compose_qdrant_on_epyc.sh @@ -157,36 +157,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 @@ -214,10 +184,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 765fb90e33..2a522fa7a8 100644 --- a/ChatQnA/tests/test_compose_qdrant_on_xeon.sh +++ b/ChatQnA/tests/test_compose_qdrant_on_xeon.sh @@ -153,33 +153,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 @@ -207,10 +180,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 28df0e83aa..eb79b34440 100644 --- a/ChatQnA/tests/test_compose_tgi_on_gaudi.sh +++ b/ChatQnA/tests/test_compose_tgi_on_gaudi.sh @@ -173,36 +173,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 @@ -230,10 +200,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 229151d04d..f3c1e8bffd 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_ui_on_xeon.sh b/ChatQnA/tests/test_compose_ui_on_xeon.sh new file mode 100644 index 0000000000..5c3eb88d3f --- /dev/null +++ b/ChatQnA/tests/test_compose_ui_on_xeon.sh @@ -0,0 +1,79 @@ +#!/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 + + echo "Build all the images with --no-cache, check docker_image_build.log for details..." + 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 +} + +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 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::stop_docker" + stop_docker + echo "::endgroup::" + + docker system prune -f + +} + +main 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 9a1777bd15..1f14c10d10 100644 --- a/ChatQnA/tests/test_compose_without_rerank_on_epyc.sh +++ b/ChatQnA/tests/test_compose_without_rerank_on_epyc.sh @@ -166,39 +166,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 @@ -226,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_gaudi.sh b/ChatQnA/tests/test_compose_without_rerank_on_gaudi.sh index 24f72db727..62cbe30d3e 100644 --- a/ChatQnA/tests/test_compose_without_rerank_on_gaudi.sh +++ b/ChatQnA/tests/test_compose_without_rerank_on_gaudi.sh @@ -163,36 +163,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 @@ -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_without_rerank_on_xeon.sh b/ChatQnA/tests/test_compose_without_rerank_on_xeon.sh index ad8d9c2f43..7e2157cee7 100644 --- a/ChatQnA/tests/test_compose_without_rerank_on_xeon.sh +++ b/ChatQnA/tests/test_compose_without_rerank_on_xeon.sh @@ -162,36 +162,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 @@ -219,10 +189,6 @@ function main() { validate_megaservice echo "::endgroup::" - echo "::group::validate_frontend" - validate_frontend - echo "::endgroup::" - echo "::group::stop_docker" stop_docker echo "::endgroup::"