22
22
required : false
23
23
type : string
24
24
default : " "
25
+ MODEL_CACHE_DIR :
26
+ description : " Cache Dir Use"
27
+ required : false
28
+ type : string
29
+ default : " "
25
30
26
31
jobs :
27
32
run_tests_with_coverage :
@@ -67,11 +72,26 @@ jobs:
67
72
fd_wheel_url : ${{ inputs.FASTDEPLOY_WHEEL_URL }}
68
73
CACHE_DIR : ${{ inputs.CACHE_DIR }}
69
74
BASE_REF : ${{ github.event.pull_request.base.ref }}
75
+ MODEL_CACHE_DIR : ${{ inputs.MODEL_CACHE_DIR }}
70
76
run : |
71
77
set -x
72
78
runner_name="${{ runner.name }}"
73
79
CARD_ID=$(echo "${runner_name}" | awk -F'-' '{print $NF}')
74
- gpu_id=$(echo "$CARD_ID" | fold -w1 | paste -sd,)
80
+ DEVICES=$(echo "$CARD_ID" | fold -w1 | paste -sd,)
81
+ DEVICE_PORT=$(echo "$DEVICES" | cut -d',' -f1)
82
+
83
+ FLASK_PORT=$((42068 + DEVICE_PORT * 100))
84
+ FD_API_PORT=$((42088 + DEVICE_PORT * 100))
85
+ FD_ENGINE_QUEUE_PORT=$((42058 + DEVICE_PORT * 100))
86
+ FD_METRICS_PORT=$((42078 + DEVICE_PORT * 100))
87
+ echo "Test ENV Parameter:"
88
+ echo "========================================================="
89
+ echo "FLASK_PORT=${FLASK_PORT}"
90
+ echo "FD_API_PORT=${FD_API_PORT}"
91
+ echo "FD_ENGINE_QUEUE_PORT=${FD_ENGINE_QUEUE_PORT}"
92
+ echo "FD_METRICS_PORT=${FD_METRICS_PORT}"
93
+ echo "DEVICES=${DEVICES}"
94
+ echo "========================================================="
75
95
76
96
CACHE_DIR="${CACHE_DIR:-$(dirname "$(dirname "${{ github.workspace }}")")}"
77
97
echo "CACHE_DIR is set to ${CACHE_DIR}"
@@ -86,17 +106,22 @@ jobs:
86
106
-v "${CACHE_DIR}/gitconfig:/etc/gitconfig:ro" \
87
107
-v "${CACHE_DIR}/.cache:/root/.cache" \
88
108
-v "${CACHE_DIR}/ConfigDir:/root/.config" \
109
+ -v "${MODEL_CACHE_DIR}:/ModelData:ro" \
110
+ -e "MODEL_PATH=/ModelData" \
111
+ -e "FD_API_PORT=${FD_API_PORT}" \
112
+ -e "FD_ENGINE_QUEUE_PORT=${FD_ENGINE_QUEUE_PORT}" \
113
+ -e "FD_METRICS_PORT=${FD_METRICS_PORT}" \
114
+ -e "FLASK_PORT=${FLASK_PORT}" \
89
115
-e TZ="Asia/Shanghai" \
90
116
-e "fd_wheel_url=${fd_wheel_url}" \
91
117
-e "BASE_REF=${BASE_REF}" \
92
- --gpus "\"device=${gpu_id }\"" ${docker_image} /bin/bash -c '
118
+ --gpus "\"device=${DEVICES }\"" ${docker_image} /bin/bash -c '
93
119
94
120
git config --global --add safe.directory /workspace/FastDeploy
95
121
cd FastDeploy
96
122
python -m pip install --pre paddlepaddle-gpu -i https://www.paddlepaddle.org.cn/packages/nightly/cu126/
97
123
98
- pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
99
-
124
+ pip config set global.extra-index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
100
125
101
126
python -m pip install coverage
102
127
python -m pip install diff-cover
@@ -159,7 +184,7 @@ jobs:
159
184
echo "unittest_failed_url=${UNIT_TEST_RESULT_URL}" >> $GITHUB_OUTPUT
160
185
echo "unittest_failed_url=${UNIT_TEST_RESULT_URL}" >> $GITHUB_ENV
161
186
fi
162
- - name : Determine Unit Succ and whether the coverage rate reaches 80%
187
+ - name : Check Unit Test Success
163
188
shell : bash
164
189
run : |
165
190
if [ "$TEST_EXIT_CODE" -eq 8 ]; then
@@ -177,7 +202,11 @@ jobs:
177
202
fi
178
203
exit "$TEST_EXIT_CODE"
179
204
fi
205
+ echo "All tests passed"
180
206
207
+ - name : Verify Code Coverage Threshold (80%)
208
+ shell : bash
209
+ run : |
181
210
if [ "$COVERAGE_EXIT_CODE" -eq 9 ]; then
182
211
echo "Coverage generation failed (exit code 9)"
183
212
filename=$(basename "$diff_cov_result_json_url")
@@ -197,7 +226,7 @@ jobs:
197
226
fi
198
227
exit "$COVERAGE_EXIT_CODE"
199
228
fi
200
- echo "All tests and coverage passed"
229
+ echo "coverage passed"
201
230
exit 0
202
231
203
232
diff_coverage_report :
0 commit comments