Skip to content

Commit 571c031

Browse files
chensuyuepre-commit-ci[bot]
authored andcommitted
Integrate openeuler images into CI/CD (opea-project#1842)
* build image for openeuler Signed-off-by: chensuyue <suyue.chen@intel.com> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Handle the image name check issue in image build yaml Signed-off-by: chensuyue <suyue.chen@intel.com> * Support for openEuler (opea-project#1813) * add openEuler support and update some tests Signed-off-by: zhihang <zhihangdeng@link.cuhk.edu.cn> * add openEuler support for NGINX Signed-off-by: zhihang <zhihangdeng@link.cuhk.edu.cn> * update copyright and add test for nginx Signed-off-by: zhihang <zhihangdeng@link.cuhk.edu.cn> --------- Signed-off-by: zhihang <zhihangdeng@link.cuhk.edu.cn> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * build images for openeuler Signed-off-by: chensuyue <suyue.chen@intel.com> * fix the dockerfile hadolint scan issue (opea-project#1850) Signed-off-by: zhihang <zhihangdeng@link.cuhk.edu.cn> * update dataprep Signed-off-by: zhihang <zhihangdeng@link.cuhk.edu.cn> --------- Signed-off-by: zhihang <zhihangdeng@link.cuhk.edu.cn> * Fix some bugs in Embedding and Guardrails (opea-project#1858) * fix the dockerfile hadolint scan issue Signed-off-by: zhihang <zhihangdeng@link.cuhk.edu.cn> * update dataprep Signed-off-by: zhihang <zhihangdeng@link.cuhk.edu.cn> * fix some bugs Signed-off-by: zhihang <zhihangdeng@link.cuhk.edu.cn> --------- Signed-off-by: zhihang <zhihangdeng@link.cuhk.edu.cn> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * guardrails-openeuler image build Signed-off-by: chensuyue <suyue.chen@intel.com> * update conda env activate step Signed-off-by: chensuyue <suyue.chen@intel.com> * use local cache for BRIDGE_TOWER_MODEL Signed-off-by: chensuyue <suyue.chen@intel.com> --------- Signed-off-by: chensuyue <suyue.chen@intel.com> Signed-off-by: zhihang <zhihangdeng@link.cuhk.edu.cn> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Signed-off-by: sunzhonghua2004 <137033036@qq.com>
1 parent 4ad54f6 commit 571c031

File tree

20 files changed

+363
-51
lines changed

20 files changed

+363
-51
lines changed

.github/workflows/docker/compose/dataprep-compose.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,7 @@ services:
77
build:
88
dockerfile: comps/dataprep/src/Dockerfile
99
image: ${REGISTRY:-opea}/dataprep:${TAG:-latest}
10+
dataprep-openeuler:
11+
build:
12+
dockerfile: comps/dataprep/src/Dockerfile.openEuler
13+
image: ${REGISTRY:-opea}/dataprep:${TAG:-latest}-openeuler

.github/workflows/docker/compose/embeddings-compose.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,7 @@ services:
77
build:
88
dockerfile: comps/embeddings/src/Dockerfile
99
image: ${REGISTRY:-opea}/embedding:${TAG:-latest}
10+
embedding-openeuler:
11+
build:
12+
dockerfile: comps/embeddings/src/Dockerfile.openEuler
13+
image: ${REGISTRY:-opea}/embedding:${TAG:-latest}-openeuler

.github/workflows/docker/compose/rerankings-compose.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,7 @@ services:
77
build:
88
dockerfile: comps/rerankings/src/Dockerfile
99
image: ${REGISTRY:-opea}/reranking:${TAG:-latest}
10+
reranking-openeuler:
11+
build:
12+
dockerfile: comps/rerankings/src/Dockerfile.openEuler
13+
image: ${REGISTRY:-opea}/reranking:${TAG:-latest}-openeuler

.github/workflows/docker/compose/retrievers-compose.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,7 @@ services:
77
build:
88
dockerfile: comps/retrievers/src/Dockerfile
99
image: ${REGISTRY:-opea}/retriever:${TAG:-latest}
10+
retriever-openeuler:
11+
build:
12+
dockerfile: comps/retrievers/src/Dockerfile.openEuler
13+
image: ${REGISTRY:-opea}/retriever:${TAG:-latest}-openeuler

.github/workflows/docker/compose/third_parties-compose.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ services:
66
build:
77
dockerfile: comps/third_parties/nginx/src/Dockerfile
88
image: ${REGISTRY:-opea}/nginx:${TAG:-latest}
9+
nginx-openeuler:
10+
build:
11+
dockerfile: comps/third_parties/nginx/src/Dockerfile.openEuler
12+
image: ${REGISTRY:-opea}/nginx:${TAG:-latest}-openeuler
913
embedding-multimodal-clip:
1014
build:
1115
dockerfile: comps/third_parties/clip/src/Dockerfile

.github/workflows/pr-dockerfile-path-scan.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ jobs:
167167
consistency="TRUE"
168168
yamls=$(find .github/workflows/docker/compose/ -name '*-compose.yaml')
169169
for build_yaml in $yamls; do
170-
message=$(python3 .github/workflows/scripts/check-name-agreement.py "$build_yaml")
170+
message=$(python3 .github/workflows/scripts/check_name_agreement.py "$build_yaml")
171171
if [[ "$message" != *"consistent"* ]]; then
172172
consistency="FALSE"
173173
echo "Inconsistent service name and image name found in file $build_yaml."

.github/workflows/scripts/check-name-agreement.py renamed to .github/workflows/scripts/check_name_agreement.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,10 @@ def check_service_image_consistency(data):
1919
image_name = service_details.get("image", "")
2020
# Extract the image name part after the last '/'
2121
image_name_part = image_name.split("/")[-1].split(":")[0]
22+
# Remove '-openeuler' suffix if it exists
23+
fixed_service_name = service_name.rsplit("-openeuler", 1)[0]
2224
# Check if the service name is a substring of the image name part
23-
if service_name not in image_name_part:
25+
if fixed_service_name not in image_name_part:
2426
# Get the line number of the service name
2527
line_number = service_details.lc.line + 1
2628
inconsistencies.append((service_name, image_name, line_number))

.github/workflows/scripts/codeScan/.hadolint.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# SPDX-License-Identifier: Apache-2.0
33

44
ignored:
5+
- DL3033
56
- DL3003
67
- DL3006
78
- DL3007

.github/workflows/scripts/get_test_matrix.sh

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,23 @@ function find_test_1() {
5454
done
5555
fi
5656
if [ "$run_all_interation" = "true" ]; then
57+
set -x
5758
find_test=$(find ./tests -type f -name "test_${service_name}*.sh") || true
5859
if [ "$find_test" ]; then
59-
fill_in_matrix "$find_test"
60+
# limit test case. If the changed file only to be Dockerfile.openEuler, then only run the script integrate related test.
61+
check_files_except_openeuler_docker=$(printf '%s\n' "${changed_files[@]}"| grep ${service_path} | grep -vE 'Dockerfile.openEuler' | sort -u) || true
62+
if [ -z "$check_files_except_openeuler_docker" ]; then
63+
for test in ${find_test}; do
64+
find_dockerfile=$(grep -rl "openEuler" $test) || true
65+
if [ "$find_dockerfile" ]; then
66+
fill_in_matrix "$test"
67+
fi
68+
done
69+
else
70+
fill_in_matrix "$find_test"
71+
fi
6072
fi
73+
set +x
6174
fi
6275
elif [[ $(echo ${service_path} | grep "third_parties") ]]; then
6376
# new org with `src` and `third_parties` folder

Dockerfile.openEuler

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Copyright (C) 2025 Huawei Technologies Co., Ltd.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
# Base image for GenAIComps based OPEA Python applications
5+
# Build: docker build -t opea/comps-base:{version}-openeuler -f Dockerfile.openEuler .
6+
7+
ARG IMAGE_NAME=openeuler/python
8+
ARG IMAGE_TAG=3.11.13-oe2403lts
9+
10+
FROM ${IMAGE_NAME}:${IMAGE_TAG} AS base
11+
12+
ENV HOME=/home/user
13+
14+
RUN yum update -y && \
15+
yum upgrade -y && \
16+
yum install -y shadow && \
17+
yum clean all && \
18+
rm -rf /var/cache/yum
19+
20+
RUN useradd -m -s /bin/bash user && \
21+
mkdir -p $HOME && \
22+
chown -R user $HOME
23+
24+
WORKDIR $HOME
25+
26+
COPY *.toml *.py *.txt *.md LICENSE ./
27+
28+
ARG uvpip='uv pip install --system --no-cache-dir'
29+
RUN pip install --no-cache-dir --upgrade pip setuptools uv && \
30+
$uvpip -r requirements.txt
31+
32+
COPY comps/ comps/
33+
34+
ENV PYTHONPATH=$PYTHONPATH:$HOME
35+
36+
USER user
37+
38+
ENTRYPOINT ["sh", "-c", "set && ls -la"]

0 commit comments

Comments
 (0)