Skip to content

Commit 8791ad4

Browse files
authored
Pre ce modified (#3335)
* update * update * fix * fix * update * update * update * fix * update
1 parent c575611 commit 8791ad4

File tree

3 files changed

+77
-27
lines changed

3 files changed

+77
-27
lines changed

.github/workflows/_pre_ce_test.yml

Lines changed: 37 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,19 @@ on:
2121
required: false
2222
type: string
2323
default: ""
24+
MODEL_CACHE_DIR:
25+
description: "Cache Dir Use"
26+
required: false
27+
type: string
28+
default: ""
2429

2530
concurrency:
2631
group: ${{ github.event.pull_request.number }}
2732
cancel-in-progress: true
2833

2934
jobs:
3035
run_ce_cases:
31-
runs-on: [self-hosted, GPU-L20-4Card]
36+
runs-on: [self-hosted, PRE_CE_RUN_2Card]
3237
steps:
3338
- name: Print current runner name
3439
run: |
@@ -67,37 +72,51 @@ jobs:
6772
env:
6873
docker_image: ${{ inputs.DOCKER_IMAGE }}
6974
fd_wheel_url: ${{ inputs.FASTDEPLOY_WHEEL_URL }}
75+
CACHE_DIR: ${{ inputs.CACHE_DIR }}
76+
MODEL_CACHE_DIR: ${{ inputs.MODEL_CACHE_DIR }}
7077
run: |
7178
runner_name="${{ runner.name }}"
72-
last_char="${runner_name: -1}"
79+
CARD_ID=$(echo "${runner_name}" | awk -F'-' '{print $NF}')
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 "========================================================="
7395
74-
if [ "${last_char}" = "1" ]; then
75-
gpu_id=2
76-
DEVICES="2,3"
77-
else
78-
gpu_id=0
79-
DEVICES="0,1"
96+
CACHE_DIR="${CACHE_DIR:-$(dirname "$(dirname "${{ github.workspace }}")")}"
97+
echo "CACHE_DIR is set to ${CACHE_DIR}"
98+
if [ ! -f "${CACHE_DIR}/gitconfig" ]; then
99+
touch "${CACHE_DIR}/gitconfig"
80100
fi
81-
FD_API_PORT=$((9180 + gpu_id * 100))
82-
FD_ENGINE_QUEUE_PORT=$((9150 + gpu_id * 100))
83-
FD_METRICS_PORT=$((9170 + gpu_id * 100))
84101
85-
PARENT_DIR=$(dirname "$WORKSPACE")
86-
echo "PARENT_DIR:$PARENT_DIR"
87102
docker run --rm --net=host -v $(pwd):/workspace -w /workspace \
88-
-v "/ssd4/GithubActions/gitconfig:/etc/gitconfig:ro" \
89-
-v "/ssd4/GithubActions/ModelData:/ModelData:ro" \
90-
-v "/ssd4/GithubActions/CacheDir:/root/.cache" \
91-
-v "/ssd4/GithubActions/ConfigDir:/root/.config" \
103+
-v "${CACHE_DIR}/gitconfig:/etc/gitconfig:ro" \
104+
-v "${CACHE_DIR}/.cache:/root/.cache" \
105+
-v "${CACHE_DIR}/ConfigDir:/root/.config" \
106+
-v "${MODEL_CACHE_DIR}:/ModelData:ro" \
92107
-e "MODEL_PATH=/ModelData" \
93108
-e "FD_API_PORT=${FD_API_PORT}" \
94109
-e "FD_ENGINE_QUEUE_PORT=${FD_ENGINE_QUEUE_PORT}" \
95110
-e "FD_METRICS_PORT=${FD_METRICS_PORT}" \
111+
-e "FLASK_PORT=${FLASK_PORT}" \
96112
-e "fd_wheel_url=${fd_wheel_url}" \
97-
--gpus '"device='"${DEVICES}"'"' ${docker_image} /bin/bash -c '
113+
--gpus "\"device=${DEVICES}\"" ${docker_image} /bin/bash -c '
98114
git config --global --add safe.directory /workspace/FastDeploy
99115
cd FastDeploy
100116
python -m pip install --pre paddlepaddle-gpu -i https://www.paddlepaddle.org.cn/packages/nightly/cu126/
101117
python -m pip install ${fd_wheel_url}
118+
for port in $FLASK_PORT $FD_API_PORT $FD_ENGINE_QUEUE_PORT $FD_METRICS_PORT; do
119+
lsof -t -i :$port | xargs -r kill -9 || true
120+
done
102121
bash scripts/run_pre_ce.sh
103122
'

.github/workflows/_unit_test_coverage.yml

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ on:
2222
required: false
2323
type: string
2424
default: ""
25+
MODEL_CACHE_DIR:
26+
description: "Cache Dir Use"
27+
required: false
28+
type: string
29+
default: ""
2530

2631
jobs:
2732
run_tests_with_coverage:
@@ -67,11 +72,26 @@ jobs:
6772
fd_wheel_url: ${{ inputs.FASTDEPLOY_WHEEL_URL }}
6873
CACHE_DIR: ${{ inputs.CACHE_DIR }}
6974
BASE_REF: ${{ github.event.pull_request.base.ref }}
75+
MODEL_CACHE_DIR: ${{ inputs.MODEL_CACHE_DIR }}
7076
run: |
7177
set -x
7278
runner_name="${{ runner.name }}"
7379
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 "========================================================="
7595
7696
CACHE_DIR="${CACHE_DIR:-$(dirname "$(dirname "${{ github.workspace }}")")}"
7797
echo "CACHE_DIR is set to ${CACHE_DIR}"
@@ -86,17 +106,22 @@ jobs:
86106
-v "${CACHE_DIR}/gitconfig:/etc/gitconfig:ro" \
87107
-v "${CACHE_DIR}/.cache:/root/.cache" \
88108
-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}" \
89115
-e TZ="Asia/Shanghai" \
90116
-e "fd_wheel_url=${fd_wheel_url}" \
91117
-e "BASE_REF=${BASE_REF}" \
92-
--gpus "\"device=${gpu_id}\"" ${docker_image} /bin/bash -c '
118+
--gpus "\"device=${DEVICES}\"" ${docker_image} /bin/bash -c '
93119
94120
git config --global --add safe.directory /workspace/FastDeploy
95121
cd FastDeploy
96122
python -m pip install --pre paddlepaddle-gpu -i https://www.paddlepaddle.org.cn/packages/nightly/cu126/
97123
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
100125
101126
python -m pip install coverage
102127
python -m pip install diff-cover
@@ -159,7 +184,7 @@ jobs:
159184
echo "unittest_failed_url=${UNIT_TEST_RESULT_URL}" >> $GITHUB_OUTPUT
160185
echo "unittest_failed_url=${UNIT_TEST_RESULT_URL}" >> $GITHUB_ENV
161186
fi
162-
- name: Determine Unit Succ and whether the coverage rate reaches 80%
187+
- name: Check Unit Test Success
163188
shell: bash
164189
run: |
165190
if [ "$TEST_EXIT_CODE" -eq 8 ]; then
@@ -177,7 +202,11 @@ jobs:
177202
fi
178203
exit "$TEST_EXIT_CODE"
179204
fi
205+
echo "All tests passed"
180206
207+
- name: Verify Code Coverage Threshold (80%)
208+
shell: bash
209+
run: |
181210
if [ "$COVERAGE_EXIT_CODE" -eq 9 ]; then
182211
echo "Coverage generation failed (exit code 9)"
183212
filename=$(basename "$diff_cov_result_json_url")
@@ -197,7 +226,7 @@ jobs:
197226
fi
198227
exit "$COVERAGE_EXIT_CODE"
199228
fi
200-
echo "All tests and coverage passed"
229+
echo "coverage passed"
201230
exit 0
202231
203232
diff_coverage_report:

.github/workflows/pr_build_and_test.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ jobs:
4242
DOCKER_IMAGE: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddleqa:fastdeploy-ciuse-cuda126-dailyupdate
4343
FASTDEPLOY_ARCHIVE_URL: ${{ needs.clone.outputs.repo_archive_url }}
4444
FASTDEPLOY_WHEEL_URL: ${{ needs.build.outputs.wheel_path }}
45+
MODEL_CACHE_DIR: "/ssd2/actions-runner/ModelData"
4546

4647
logprob_test:
4748
name: Run FastDeploy LogProb Tests
@@ -51,16 +52,17 @@ jobs:
5152
DOCKER_IMAGE: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddleqa:fastdeploy-ciuse-cuda126-dailyupdate
5253
PADDLETEST_ARCHIVE_URL: "https://xly-devops.bj.bcebos.com/PaddleTest/PaddleTest.tar.gz"
5354
FASTDEPLOY_WHEEL_URL: ${{ needs.build.outputs.wheel_path }}
54-
MODEL_CACHE_DIR: "/ssd2/actions-runner/ModelCache"
55+
MODEL_CACHE_DIR: "/ssd2/actions-runner/ModelData"
5556

5657
pre_ce_test:
5758
name: Extracted partial CE model tasks to run in CI.
5859
needs: [clone,build]
5960
uses: ./.github/workflows/_pre_ce_test.yml
6061
with:
61-
DOCKER_IMAGE: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddle:fastdeploy-ciuse-cuda126
62+
DOCKER_IMAGE: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddleqa:fastdeploy-ciuse-cuda126-dailyupdate
6263
FASTDEPLOY_ARCHIVE_URL: ${{ needs.clone.outputs.repo_archive_url }}
6364
FASTDEPLOY_WHEEL_URL: ${{ needs.build.outputs.wheel_path }}
65+
MODEL_CACHE_DIR: "/ssd2/actions-runner/ModelData"
6466

6567
base_test:
6668
name: Run Base Tests
@@ -70,4 +72,4 @@ jobs:
7072
DOCKER_IMAGE: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddleqa:fastdeploy-ciuse-cuda126-dailyupdate
7173
FASTDEPLOY_ARCHIVE_URL: ${{ needs.clone.outputs.repo_archive_url }}
7274
FASTDEPLOY_WHEEL_URL: ${{ needs.build.outputs.wheel_path }}
73-
MODEL_CACHE_DIR: "/ssd2/actions-runner/ModelCache"
75+
MODEL_CACHE_DIR: "/ssd2/actions-runner/ModelData"

0 commit comments

Comments
 (0)