From 259cd50ef1699d4dd4a8cb5a6471d77ade3ee72c Mon Sep 17 00:00:00 2001 From: "chen, suyue" Date: Wed, 29 May 2024 00:44:49 +0800 Subject: [PATCH] update ui dockerfile copy path (#196) Signed-off-by: chensuyue --- .github/workflows/E2E_test_with_compose.yml | 7 +++-- AudioQnA/ui/docker/Dockerfile | 2 +- ChatQnA/tests/test_chatqna_on_gaudi.sh | 33 ++++++++++++++------ ChatQnA/tests/test_chatqna_on_xeon.sh | 34 +++++++++++++++------ ChatQnA/ui/docker/Dockerfile | 2 +- CodeGen/ui/docker/Dockerfile | 2 +- CodeTrans/ui/docker/Dockerfile | 2 +- DocSum/ui/docker/Dockerfile | 2 +- SearchQnA/ui/docker/Dockerfile | 2 +- Translation/ui/docker/Dockerfile | 2 +- 10 files changed, 58 insertions(+), 30 deletions(-) diff --git a/.github/workflows/E2E_test_with_compose.yml b/.github/workflows/E2E_test_with_compose.yml index fb80fe562..d93dbc9e7 100644 --- a/.github/workflows/E2E_test_with_compose.yml +++ b/.github/workflows/E2E_test_with_compose.yml @@ -38,7 +38,8 @@ jobs: id: get-test-matrix run: | set -xe - changed_files=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} | \ + merged_commit=$(git log -1 --format='%H') + changed_files=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${merged_commit} | \ grep -vE '.github|README.md|*.txt|deprecate|kubernetes') examples=$(printf '%s\n' "${changed_files[@]}" | grep '/' | cut -d'/' -f1 | sort -u) run_matrix="{\"include\":[" @@ -46,7 +47,7 @@ jobs: run_hardware="" if [ $(printf '%s\n' "${changed_files[@]}" | grep ${example} | grep -c gaudi) != 0 ]; then run_hardware="gaudi"; fi if [ $(printf '%s\n' "${changed_files[@]}" | grep ${example} | grep -c xeon) != 0 ]; then run_hardware="xeon ${run_hardware}"; fi - if [ $run_hardware = "" ]; then run_hardware="xeon"; fi + if [ "$run_hardware" = "" ]; then run_hardware="xeon"; fi for hw in ${run_hardware}; do run_matrix="${run_matrix}{\"example\":\"${example}\",\"hardware\":\"${hw}\"}," done @@ -81,7 +82,7 @@ jobs: run: | cd ${{ github.workspace }}/$example/tests example_l=$(echo $example | tr '[:upper:]' '[:lower:]') - timeout 20m bash test_${example_l}_on_${hardware}.sh + if [ -f test_${example_l}_on_${hardware}.sh ]; then timeout 20m bash test_${example_l}_on_${hardware}.sh; else echo "Test script not found, skip test!"; fi - name: Clean up container env: diff --git a/AudioQnA/ui/docker/Dockerfile b/AudioQnA/ui/docker/Dockerfile index c13ada043..9b03f1737 100644 --- a/AudioQnA/ui/docker/Dockerfile +++ b/AudioQnA/ui/docker/Dockerfile @@ -5,7 +5,7 @@ FROM node:20.11.1 RUN apt-get update -y && apt-get install -y git # Copy the front-end code repository -COPY ../svelte /home/user/svelte +COPY svelte /home/user/svelte # Set the working directory WORKDIR /home/user/svelte diff --git a/ChatQnA/tests/test_chatqna_on_gaudi.sh b/ChatQnA/tests/test_chatqna_on_gaudi.sh index 114161c7c..4df23e077 100644 --- a/ChatQnA/tests/test_chatqna_on_gaudi.sh +++ b/ChatQnA/tests/test_chatqna_on_gaudi.sh @@ -57,9 +57,17 @@ function start_services() { # Start Docker Containers # TODO: Replace the container name with a test-specific name - docker compose -f docker_compose.yaml up -d - sleep 1m # Waits 1 minutes + docker compose -f docker_compose.yaml up -d + n=0 + until [[ "$n" -ge 200 ]]; do + docker logs tgi-gaudi-server > tgi_service_start.log + if grep -q Connected tgi_service_start.log; then + break + fi + sleep 1s + n=$((n+1)) + done } function validate_microservices() { @@ -75,7 +83,7 @@ function validate_microservices() { docker logs tei-embedding-gaudi-server >> ${LOG_PATH}/embed.log exit 1 fi - sleep 5s + sleep 1s curl http://${ip_address}:6000/v1/embeddings \ -X POST \ @@ -87,7 +95,7 @@ function validate_microservices() { docker logs embedding-tei-server >> ${LOG_PATH}/embeddings.log exit 1 fi - sleep 5s + sleep 1s export PATH="${HOME}/miniforge3/bin:$PATH" source activate @@ -102,7 +110,7 @@ function validate_microservices() { docker logs retriever-redis-server >> ${LOG_PATH}/retrieval.log exit 1 fi - sleep 5s + sleep 1s curl http://${ip_address}:8808/rerank \ -X POST \ @@ -114,7 +122,7 @@ function validate_microservices() { docker logs tei-xeon-server >> ${LOG_PATH}/rerank.log exit 1 fi - sleep 5s + sleep 1s curl http://${ip_address}:8000/v1/reranking \ -X POST \ @@ -126,7 +134,7 @@ function validate_microservices() { docker logs reranking-tei-gaudi-server >> ${LOG_PATH}/reranking.log exit 1 fi - sleep 1m + sleep 1s curl http://${ip_address}:8008/generate \ -X POST \ @@ -138,7 +146,7 @@ function validate_microservices() { docker logs tgi-gaudi-server >> ${LOG_PATH}/generate.log exit 1 fi - sleep 5s + sleep 1s curl http://${ip_address}:9000/v1/chat/completions \ -X POST \ @@ -150,7 +158,7 @@ function validate_microservices() { docker logs llm-tgi-gaudi-server >> ${LOG_PATH}/completions.log exit 1 fi - sleep 5s + sleep 1s } function validate_megaservice() { @@ -195,9 +203,14 @@ function stop_docker() { function main() { stop_docker - + begin_time=$(date +%s) build_docker_images + start_time=$(date +%s) start_services + end_time=$(date +%s) + minimal_duration=$((end_time-start_time)) + maximal_duration=$((end_time-begin_time)) + echo "Mega service start minimal duration is "$minimal_duration"s, maximal duration(including docker image build) is "$maximal_duration"s" validate_microservices validate_megaservice diff --git a/ChatQnA/tests/test_chatqna_on_xeon.sh b/ChatQnA/tests/test_chatqna_on_xeon.sh index 08bfffb93..32c19fc3d 100644 --- a/ChatQnA/tests/test_chatqna_on_xeon.sh +++ b/ChatQnA/tests/test_chatqna_on_xeon.sh @@ -49,9 +49,17 @@ function start_services() { # Start Docker Containers # TODO: Replace the container name with a test-specific name - docker compose -f docker_compose.yaml up -d - sleep 2m # Waits 1 minutes + docker compose -f docker_compose.yaml up -d + n=0 + until [[ "$n" -ge 200 ]]; do + docker logs tgi-service > tgi_service_start.log + if grep -q Connected tgi_service_start.log; then + break + fi + sleep 1s + n=$((n+1)) + done } function validate_microservices() { @@ -67,7 +75,7 @@ function validate_microservices() { docker logs tei-embedding-server >> ${LOG_PATH}/embed.log exit 1 fi - sleep 5s + sleep 1s curl http://${ip_address}:6000/v1/embeddings \ -X POST \ @@ -78,7 +86,7 @@ function validate_microservices() { docker logs embedding-tei-server >> ${LOG_PATH}/embeddings.log exit 1 fi - sleep 5s + sleep 1m # retrieval can't curl as expected, try to wait for more time export PATH="${HOME}/miniforge3/bin:$PATH" source activate @@ -93,7 +101,7 @@ function validate_microservices() { docker logs retriever-redis-server >> ${LOG_PATH}/retrieval.log exit 1 fi - sleep 5s + sleep 1s curl http://${ip_address}:8808/rerank \ -X POST \ @@ -105,7 +113,7 @@ function validate_microservices() { docker logs tei-xeon-server >> ${LOG_PATH}/rerank.log exit 1 fi - sleep 5s + sleep 1s curl http://${ip_address}:8000/v1/reranking\ -X POST \ @@ -116,7 +124,7 @@ function validate_microservices() { docker logs reranking-tei-xeon-server >> ${LOG_PATH}/reranking.log exit 1 fi - sleep 30s + sleep 1s curl http://${ip_address}:9009/generate \ -X POST \ @@ -127,7 +135,7 @@ function validate_microservices() { docker logs tgi-service >> ${LOG_PATH}/generate.log exit 1 fi - sleep 5s + sleep 1s curl http://${ip_address}:9000/v1/chat/completions \ -X POST \ @@ -139,12 +147,12 @@ function validate_microservices() { docker logs llm-tgi-server >> ${LOG_PATH}/completions.log exit 1 fi - sleep 5s + sleep 1s } function validate_megaservice() { # Curl the Mega Service - curl http://${ip_address}:8888/v1/chatqna -H "Content-Type: application/json" -d '{ + http_proxy="" curl http://${ip_address}:8888/v1/chatqna -H "Content-Type: application/json" -d '{ "model": "Intel/neural-chat-7b-v3-3", "messages": "What is the revenue of Nike in 2023?"}' > ${LOG_PATH}/curl_megaservice.log exit_code=$? @@ -186,8 +194,14 @@ function main() { stop_docker + begin_time=$(date +%s) build_docker_images + start_time=$(date +%s) start_services + end_time=$(date +%s) + minimal_duration=$((end_time-start_time)) + maximal_duration=$((end_time-begin_time)) + echo "Mega service start minimal duration is "$minimal_duration"s, maximal duration(including docker image build) is "$maximal_duration"s" validate_microservices validate_megaservice diff --git a/ChatQnA/ui/docker/Dockerfile b/ChatQnA/ui/docker/Dockerfile index c13ada043..9b03f1737 100644 --- a/ChatQnA/ui/docker/Dockerfile +++ b/ChatQnA/ui/docker/Dockerfile @@ -5,7 +5,7 @@ FROM node:20.11.1 RUN apt-get update -y && apt-get install -y git # Copy the front-end code repository -COPY ../svelte /home/user/svelte +COPY svelte /home/user/svelte # Set the working directory WORKDIR /home/user/svelte diff --git a/CodeGen/ui/docker/Dockerfile b/CodeGen/ui/docker/Dockerfile index c13ada043..9b03f1737 100644 --- a/CodeGen/ui/docker/Dockerfile +++ b/CodeGen/ui/docker/Dockerfile @@ -5,7 +5,7 @@ FROM node:20.11.1 RUN apt-get update -y && apt-get install -y git # Copy the front-end code repository -COPY ../svelte /home/user/svelte +COPY svelte /home/user/svelte # Set the working directory WORKDIR /home/user/svelte diff --git a/CodeTrans/ui/docker/Dockerfile b/CodeTrans/ui/docker/Dockerfile index c13ada043..9b03f1737 100644 --- a/CodeTrans/ui/docker/Dockerfile +++ b/CodeTrans/ui/docker/Dockerfile @@ -5,7 +5,7 @@ FROM node:20.11.1 RUN apt-get update -y && apt-get install -y git # Copy the front-end code repository -COPY ../svelte /home/user/svelte +COPY svelte /home/user/svelte # Set the working directory WORKDIR /home/user/svelte diff --git a/DocSum/ui/docker/Dockerfile b/DocSum/ui/docker/Dockerfile index c13ada043..9b03f1737 100644 --- a/DocSum/ui/docker/Dockerfile +++ b/DocSum/ui/docker/Dockerfile @@ -5,7 +5,7 @@ FROM node:20.11.1 RUN apt-get update -y && apt-get install -y git # Copy the front-end code repository -COPY ../svelte /home/user/svelte +COPY svelte /home/user/svelte # Set the working directory WORKDIR /home/user/svelte diff --git a/SearchQnA/ui/docker/Dockerfile b/SearchQnA/ui/docker/Dockerfile index c13ada043..9b03f1737 100644 --- a/SearchQnA/ui/docker/Dockerfile +++ b/SearchQnA/ui/docker/Dockerfile @@ -5,7 +5,7 @@ FROM node:20.11.1 RUN apt-get update -y && apt-get install -y git # Copy the front-end code repository -COPY ../svelte /home/user/svelte +COPY svelte /home/user/svelte # Set the working directory WORKDIR /home/user/svelte diff --git a/Translation/ui/docker/Dockerfile b/Translation/ui/docker/Dockerfile index c13ada043..9b03f1737 100644 --- a/Translation/ui/docker/Dockerfile +++ b/Translation/ui/docker/Dockerfile @@ -5,7 +5,7 @@ FROM node:20.11.1 RUN apt-get update -y && apt-get install -y git # Copy the front-end code repository -COPY ../svelte /home/user/svelte +COPY svelte /home/user/svelte # Set the working directory WORKDIR /home/user/svelte