[CICD enhance] AvatarChatbot run CI with latest base image, group logs in GHA outputs. (#1930)
Signed-off-by: chensuyue <suyue.chen@intel.com>
This commit is contained in:
@@ -1,8 +1,9 @@
|
|||||||
# Copyright (C) 2024 Intel Corporation
|
# Copyright (C) 2024 Intel Corporation
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
ARG IMAGE_REPO=opea
|
||||||
ARG BASE_TAG=latest
|
ARG BASE_TAG=latest
|
||||||
FROM opea/comps-base:$BASE_TAG
|
FROM $IMAGE_REPO/comps-base:$BASE_TAG
|
||||||
|
|
||||||
COPY ./avatarchatbot.py $HOME/avatarchatbot.py
|
COPY ./avatarchatbot.py $HOME/avatarchatbot.py
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ services:
|
|||||||
avatarchatbot:
|
avatarchatbot:
|
||||||
build:
|
build:
|
||||||
args:
|
args:
|
||||||
|
IMAGE_REPO: ${REGISTRY:-opea}
|
||||||
|
BASE_TAG: ${TAG:-latest}
|
||||||
http_proxy: ${http_proxy}
|
http_proxy: ${http_proxy}
|
||||||
https_proxy: ${https_proxy}
|
https_proxy: ${https_proxy}
|
||||||
no_proxy: ${no_proxy}
|
no_proxy: ${no_proxy}
|
||||||
|
|||||||
@@ -24,19 +24,13 @@ ip_address=$(hostname -I | awk '{print $1}')
|
|||||||
|
|
||||||
function build_docker_images() {
|
function build_docker_images() {
|
||||||
opea_branch=${opea_branch:-"main"}
|
opea_branch=${opea_branch:-"main"}
|
||||||
# If the opea_branch isn't main, replace the git clone branch in Dockerfile.
|
|
||||||
if [[ "${opea_branch}" != "main" ]]; then
|
|
||||||
cd $WORKPATH
|
|
||||||
OLD_STRING="RUN git clone --depth 1 https://github.com/opea-project/GenAIComps.git"
|
|
||||||
NEW_STRING="RUN git clone --depth 1 --branch ${opea_branch} https://github.com/opea-project/GenAIComps.git"
|
|
||||||
find . -type f -name "Dockerfile*" | while read -r file; do
|
|
||||||
echo "Processing file: $file"
|
|
||||||
sed -i "s|$OLD_STRING|$NEW_STRING|g" "$file"
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd $WORKPATH/docker_image_build
|
cd $WORKPATH/docker_image_build
|
||||||
git clone --depth 1 --branch ${opea_branch} https://github.com/opea-project/GenAIComps.git
|
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..."
|
echo "Build all the images with --no-cache, check docker_image_build.log for details..."
|
||||||
service_list="avatarchatbot whisper-gaudi speecht5-gaudi wav2lip-gaudi animation"
|
service_list="avatarchatbot whisper-gaudi speecht5-gaudi wav2lip-gaudi animation"
|
||||||
@@ -128,19 +122,29 @@ function stop_docker() {
|
|||||||
|
|
||||||
|
|
||||||
function main() {
|
function main() {
|
||||||
|
echo "::group::stop_docker"
|
||||||
stop_docker
|
stop_docker
|
||||||
echo y | docker builder prune --all
|
echo "::endgroup::"
|
||||||
echo y | docker image prune
|
docker builder prune --all -f
|
||||||
|
docker image prune -f
|
||||||
|
|
||||||
|
echo "::group::build_docker_images"
|
||||||
if [[ "$IMAGE_REPO" == "opea" ]]; then build_docker_images; fi
|
if [[ "$IMAGE_REPO" == "opea" ]]; then build_docker_images; fi
|
||||||
start_services
|
echo "::endgroup::"
|
||||||
# validate_microservices
|
|
||||||
validate_megaservice
|
|
||||||
# validate_frontend
|
|
||||||
|
|
||||||
|
echo "::group::start_services"
|
||||||
|
start_services
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
echo "::group::validate_megaservice"
|
||||||
|
validate_megaservice
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
echo "::group::stop_docker"
|
||||||
stop_docker
|
stop_docker
|
||||||
echo y | docker builder prune --all
|
echo "::endgroup::"
|
||||||
echo y | docker image prune
|
docker builder prune --all -f
|
||||||
|
docker image prune -f
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,10 @@ ip_address=$(hostname -I | awk '{print $1}')
|
|||||||
function build_docker_images() {
|
function build_docker_images() {
|
||||||
cd $WORKPATH/docker_image_build
|
cd $WORKPATH/docker_image_build
|
||||||
git clone https://github.com/opea-project/GenAIComps.git && cd GenAIComps && git checkout "${opea_branch:-"main"}" && cd ../
|
git clone https://github.com/opea-project/GenAIComps.git && cd GenAIComps && git checkout "${opea_branch:-"main"}" && cd ../
|
||||||
|
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..."
|
echo "Build all the images with --no-cache, check docker_image_build.log for details..."
|
||||||
service_list="avatarchatbot whisper asr speecht5 tts wav2lip animation"
|
service_list="avatarchatbot whisper asr speecht5 tts wav2lip animation"
|
||||||
@@ -138,11 +142,6 @@ function validate_megaservice() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#function validate_frontend() {
|
|
||||||
|
|
||||||
#}
|
|
||||||
|
|
||||||
|
|
||||||
function stop_docker() {
|
function stop_docker() {
|
||||||
cd $WORKPATH/docker_compose/amd/gpu/rocm
|
cd $WORKPATH/docker_compose/amd/gpu/rocm
|
||||||
docker compose down && docker compose rm -f
|
docker compose down && docker compose rm -f
|
||||||
@@ -151,19 +150,27 @@ function stop_docker() {
|
|||||||
|
|
||||||
function main() {
|
function main() {
|
||||||
|
|
||||||
echo $OPENAI_API_KEY
|
echo "::group::stop_docker"
|
||||||
echo $OPENAI_KEY
|
|
||||||
|
|
||||||
stop_docker
|
stop_docker
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
echo "::group::build_docker_images"
|
||||||
if [[ "$IMAGE_REPO" == "opea" ]]; then build_docker_images; fi
|
if [[ "$IMAGE_REPO" == "opea" ]]; then build_docker_images; fi
|
||||||
start_services
|
echo "::endgroup::"
|
||||||
# validate_microservices
|
|
||||||
sleep 30
|
|
||||||
validate_megaservice
|
|
||||||
# validate_frontend
|
|
||||||
stop_docker
|
|
||||||
|
|
||||||
echo y | docker system prune
|
echo "::group::start_services"
|
||||||
|
start_services
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
echo "::group::validate_megaservice"
|
||||||
|
validate_megaservice
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
echo "::group::stop_docker"
|
||||||
|
stop_docker
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
docker system prune -f
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,19 +24,13 @@ ip_address=$(hostname -I | awk '{print $1}')
|
|||||||
|
|
||||||
function build_docker_images() {
|
function build_docker_images() {
|
||||||
opea_branch=${opea_branch:-"main"}
|
opea_branch=${opea_branch:-"main"}
|
||||||
# If the opea_branch isn't main, replace the git clone branch in Dockerfile.
|
|
||||||
if [[ "${opea_branch}" != "main" ]]; then
|
|
||||||
cd $WORKPATH
|
|
||||||
OLD_STRING="RUN git clone --depth 1 https://github.com/opea-project/GenAIComps.git"
|
|
||||||
NEW_STRING="RUN git clone --depth 1 --branch ${opea_branch} https://github.com/opea-project/GenAIComps.git"
|
|
||||||
find . -type f -name "Dockerfile*" | while read -r file; do
|
|
||||||
echo "Processing file: $file"
|
|
||||||
sed -i "s|$OLD_STRING|$NEW_STRING|g" "$file"
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd $WORKPATH/docker_image_build
|
cd $WORKPATH/docker_image_build
|
||||||
git clone --depth 1 --branch ${opea_branch} https://github.com/opea-project/GenAIComps.git
|
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..."
|
echo "Build all the images with --no-cache, check docker_image_build.log for details..."
|
||||||
service_list="avatarchatbot whisper speecht5 wav2lip animation"
|
service_list="avatarchatbot whisper speecht5 wav2lip animation"
|
||||||
@@ -127,16 +121,28 @@ function stop_docker() {
|
|||||||
|
|
||||||
|
|
||||||
function main() {
|
function main() {
|
||||||
stop_docker
|
|
||||||
if [[ "$IMAGE_REPO" == "opea" ]]; then build_docker_images; fi
|
|
||||||
start_services
|
|
||||||
# validate_microservices
|
|
||||||
validate_megaservice
|
|
||||||
# validate_frontend
|
|
||||||
stop_docker
|
|
||||||
|
|
||||||
echo y | docker builder prune --all
|
echo "::group::stop_docker"
|
||||||
echo y | docker image prune
|
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_megaservice"
|
||||||
|
validate_megaservice
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
echo "::group::stop_docker"
|
||||||
|
stop_docker
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
docker system prune -f
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user