mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-06 17:17:14 +08:00
* Pre ce modified (#3335) * update * update * fix * fix * update * update * update * fix * update * update * update * add ut fix pr(3367)
This commit is contained in:
55
.github/workflows/_pre_ce_test.yml
vendored
55
.github/workflows/_pre_ce_test.yml
vendored
@@ -21,6 +21,11 @@ on:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
default: ""
|
default: ""
|
||||||
|
MODEL_CACHE_DIR:
|
||||||
|
description: "Cache Dir Use"
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
default: ""
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.event.pull_request.number }}
|
group: ${{ github.event.pull_request.number }}
|
||||||
@@ -28,7 +33,7 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
run_ce_cases:
|
run_ce_cases:
|
||||||
runs-on: [self-hosted, GPU-L20-4Card]
|
runs-on: [self-hosted, PRE_CE_RUN_2Card]
|
||||||
steps:
|
steps:
|
||||||
- name: Print current runner name
|
- name: Print current runner name
|
||||||
run: |
|
run: |
|
||||||
@@ -67,37 +72,51 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
docker_image: ${{ inputs.DOCKER_IMAGE }}
|
docker_image: ${{ inputs.DOCKER_IMAGE }}
|
||||||
fd_wheel_url: ${{ inputs.FASTDEPLOY_WHEEL_URL }}
|
fd_wheel_url: ${{ inputs.FASTDEPLOY_WHEEL_URL }}
|
||||||
|
CACHE_DIR: ${{ inputs.CACHE_DIR }}
|
||||||
|
MODEL_CACHE_DIR: ${{ inputs.MODEL_CACHE_DIR }}
|
||||||
run: |
|
run: |
|
||||||
runner_name="${{ runner.name }}"
|
runner_name="${{ runner.name }}"
|
||||||
last_char="${runner_name: -1}"
|
CARD_ID=$(echo "${runner_name}" | awk -F'-' '{print $NF}')
|
||||||
|
DEVICES=$(echo "$CARD_ID" | fold -w1 | paste -sd,)
|
||||||
|
DEVICE_PORT=$(echo "$DEVICES" | cut -d',' -f1)
|
||||||
|
|
||||||
if [ "${last_char}" = "1" ]; then
|
FLASK_PORT=$((42068 + DEVICE_PORT * 100))
|
||||||
gpu_id=2
|
FD_API_PORT=$((42088 + DEVICE_PORT * 100))
|
||||||
DEVICES="2,3"
|
FD_ENGINE_QUEUE_PORT=$((42058 + DEVICE_PORT * 100))
|
||||||
else
|
FD_METRICS_PORT=$((42078 + DEVICE_PORT * 100))
|
||||||
gpu_id=0
|
echo "Test ENV Parameter:"
|
||||||
DEVICES="0,1"
|
echo "========================================================="
|
||||||
|
echo "FLASK_PORT=${FLASK_PORT}"
|
||||||
|
echo "FD_API_PORT=${FD_API_PORT}"
|
||||||
|
echo "FD_ENGINE_QUEUE_PORT=${FD_ENGINE_QUEUE_PORT}"
|
||||||
|
echo "FD_METRICS_PORT=${FD_METRICS_PORT}"
|
||||||
|
echo "DEVICES=${DEVICES}"
|
||||||
|
echo "========================================================="
|
||||||
|
|
||||||
|
CACHE_DIR="${CACHE_DIR:-$(dirname "$(dirname "${{ github.workspace }}")")}"
|
||||||
|
echo "CACHE_DIR is set to ${CACHE_DIR}"
|
||||||
|
if [ ! -f "${CACHE_DIR}/gitconfig" ]; then
|
||||||
|
touch "${CACHE_DIR}/gitconfig"
|
||||||
fi
|
fi
|
||||||
FD_API_PORT=$((9180 + gpu_id * 100))
|
|
||||||
FD_ENGINE_QUEUE_PORT=$((9150 + gpu_id * 100))
|
|
||||||
FD_METRICS_PORT=$((9170 + gpu_id * 100))
|
|
||||||
|
|
||||||
PARENT_DIR=$(dirname "$WORKSPACE")
|
|
||||||
echo "PARENT_DIR:$PARENT_DIR"
|
|
||||||
docker run --rm --net=host -v $(pwd):/workspace -w /workspace \
|
docker run --rm --net=host -v $(pwd):/workspace -w /workspace \
|
||||||
-v "/ssd4/GithubActions/gitconfig:/etc/gitconfig:ro" \
|
-v "${CACHE_DIR}/gitconfig:/etc/gitconfig:ro" \
|
||||||
-v "/ssd4/GithubActions/ModelData:/ModelData:ro" \
|
-v "${CACHE_DIR}/.cache:/root/.cache" \
|
||||||
-v "/ssd4/GithubActions/CacheDir:/root/.cache" \
|
-v "${CACHE_DIR}/ConfigDir:/root/.config" \
|
||||||
-v "/ssd4/GithubActions/ConfigDir:/root/.config" \
|
-v "${MODEL_CACHE_DIR}:/ModelData:ro" \
|
||||||
-e "MODEL_PATH=/ModelData" \
|
-e "MODEL_PATH=/ModelData" \
|
||||||
-e "FD_API_PORT=${FD_API_PORT}" \
|
-e "FD_API_PORT=${FD_API_PORT}" \
|
||||||
-e "FD_ENGINE_QUEUE_PORT=${FD_ENGINE_QUEUE_PORT}" \
|
-e "FD_ENGINE_QUEUE_PORT=${FD_ENGINE_QUEUE_PORT}" \
|
||||||
-e "FD_METRICS_PORT=${FD_METRICS_PORT}" \
|
-e "FD_METRICS_PORT=${FD_METRICS_PORT}" \
|
||||||
|
-e "FLASK_PORT=${FLASK_PORT}" \
|
||||||
-e "fd_wheel_url=${fd_wheel_url}" \
|
-e "fd_wheel_url=${fd_wheel_url}" \
|
||||||
--gpus '"device='"${DEVICES}"'"' ${docker_image} /bin/bash -c '
|
--gpus "\"device=${DEVICES}\"" ${docker_image} /bin/bash -c '
|
||||||
git config --global --add safe.directory /workspace/FastDeploy
|
git config --global --add safe.directory /workspace/FastDeploy
|
||||||
cd FastDeploy
|
cd FastDeploy
|
||||||
python -m pip install --pre paddlepaddle-gpu -i https://www.paddlepaddle.org.cn/packages/nightly/cu126/
|
python -m pip install --pre paddlepaddle-gpu -i https://www.paddlepaddle.org.cn/packages/nightly/cu126/
|
||||||
python -m pip install ${fd_wheel_url}
|
python -m pip install ${fd_wheel_url}
|
||||||
|
for port in $FLASK_PORT $FD_API_PORT $FD_ENGINE_QUEUE_PORT $FD_METRICS_PORT; do
|
||||||
|
lsof -t -i :$port | xargs -r kill -9 || true
|
||||||
|
done
|
||||||
bash scripts/run_pre_ce.sh
|
bash scripts/run_pre_ce.sh
|
||||||
'
|
'
|
||||||
|
53
.github/workflows/_unit_test_coverage.yml
vendored
53
.github/workflows/_unit_test_coverage.yml
vendored
@@ -22,6 +22,11 @@ on:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
default: ""
|
default: ""
|
||||||
|
MODEL_CACHE_DIR:
|
||||||
|
description: "Cache Dir Use"
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
default: ""
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
run_tests_with_coverage:
|
run_tests_with_coverage:
|
||||||
@@ -67,11 +72,26 @@ jobs:
|
|||||||
fd_wheel_url: ${{ inputs.FASTDEPLOY_WHEEL_URL }}
|
fd_wheel_url: ${{ inputs.FASTDEPLOY_WHEEL_URL }}
|
||||||
CACHE_DIR: ${{ inputs.CACHE_DIR }}
|
CACHE_DIR: ${{ inputs.CACHE_DIR }}
|
||||||
BASE_REF: ${{ github.event.pull_request.base.ref }}
|
BASE_REF: ${{ github.event.pull_request.base.ref }}
|
||||||
|
MODEL_CACHE_DIR: ${{ inputs.MODEL_CACHE_DIR }}
|
||||||
run: |
|
run: |
|
||||||
set -x
|
set -x
|
||||||
runner_name="${{ runner.name }}"
|
runner_name="${{ runner.name }}"
|
||||||
CARD_ID=$(echo "${runner_name}" | awk -F'-' '{print $NF}')
|
CARD_ID=$(echo "${runner_name}" | awk -F'-' '{print $NF}')
|
||||||
gpu_id=$(echo "$CARD_ID" | fold -w1 | paste -sd,)
|
DEVICES=$(echo "$CARD_ID" | fold -w1 | paste -sd,)
|
||||||
|
DEVICE_PORT=$(echo "$DEVICES" | cut -d',' -f1)
|
||||||
|
|
||||||
|
FLASK_PORT=$((42068 + DEVICE_PORT * 100))
|
||||||
|
FD_API_PORT=$((42088 + DEVICE_PORT * 100))
|
||||||
|
FD_ENGINE_QUEUE_PORT=$((42058 + DEVICE_PORT * 100))
|
||||||
|
FD_METRICS_PORT=$((42078 + DEVICE_PORT * 100))
|
||||||
|
echo "Test ENV Parameter:"
|
||||||
|
echo "========================================================="
|
||||||
|
echo "FLASK_PORT=${FLASK_PORT}"
|
||||||
|
echo "FD_API_PORT=${FD_API_PORT}"
|
||||||
|
echo "FD_ENGINE_QUEUE_PORT=${FD_ENGINE_QUEUE_PORT}"
|
||||||
|
echo "FD_METRICS_PORT=${FD_METRICS_PORT}"
|
||||||
|
echo "DEVICES=${DEVICES}"
|
||||||
|
echo "========================================================="
|
||||||
|
|
||||||
CACHE_DIR="${CACHE_DIR:-$(dirname "$(dirname "${{ github.workspace }}")")}"
|
CACHE_DIR="${CACHE_DIR:-$(dirname "$(dirname "${{ github.workspace }}")")}"
|
||||||
echo "CACHE_DIR is set to ${CACHE_DIR}"
|
echo "CACHE_DIR is set to ${CACHE_DIR}"
|
||||||
@@ -86,17 +106,22 @@ jobs:
|
|||||||
-v "${CACHE_DIR}/gitconfig:/etc/gitconfig:ro" \
|
-v "${CACHE_DIR}/gitconfig:/etc/gitconfig:ro" \
|
||||||
-v "${CACHE_DIR}/.cache:/root/.cache" \
|
-v "${CACHE_DIR}/.cache:/root/.cache" \
|
||||||
-v "${CACHE_DIR}/ConfigDir:/root/.config" \
|
-v "${CACHE_DIR}/ConfigDir:/root/.config" \
|
||||||
|
-v "${MODEL_CACHE_DIR}:/ModelData:ro" \
|
||||||
|
-e "MODEL_PATH=/ModelData" \
|
||||||
|
-e "FD_API_PORT=${FD_API_PORT}" \
|
||||||
|
-e "FD_ENGINE_QUEUE_PORT=${FD_ENGINE_QUEUE_PORT}" \
|
||||||
|
-e "FD_METRICS_PORT=${FD_METRICS_PORT}" \
|
||||||
|
-e "FLASK_PORT=${FLASK_PORT}" \
|
||||||
-e TZ="Asia/Shanghai" \
|
-e TZ="Asia/Shanghai" \
|
||||||
-e "fd_wheel_url=${fd_wheel_url}" \
|
-e "fd_wheel_url=${fd_wheel_url}" \
|
||||||
-e "BASE_REF=${BASE_REF}" \
|
-e "BASE_REF=${BASE_REF}" \
|
||||||
--gpus "\"device=${gpu_id}\"" ${docker_image} /bin/bash -c '
|
--gpus "\"device=${DEVICES}\"" ${docker_image} /bin/bash -c '
|
||||||
|
|
||||||
git config --global --add safe.directory /workspace/FastDeploy
|
git config --global --add safe.directory /workspace/FastDeploy
|
||||||
cd FastDeploy
|
cd FastDeploy
|
||||||
python -m pip install --pre paddlepaddle-gpu -i https://www.paddlepaddle.org.cn/packages/nightly/cu126/
|
python -m pip install --pre paddlepaddle-gpu -i https://www.paddlepaddle.org.cn/packages/nightly/cu126/
|
||||||
|
|
||||||
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
|
pip config set global.extra-index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
|
||||||
|
|
||||||
|
|
||||||
python -m pip install coverage
|
python -m pip install coverage
|
||||||
python -m pip install diff-cover
|
python -m pip install diff-cover
|
||||||
@@ -152,32 +177,40 @@ jobs:
|
|||||||
echo "unittest_failed_url=${UNIT_TEST_RESULT_URL}" >> $GITHUB_OUTPUT
|
echo "unittest_failed_url=${UNIT_TEST_RESULT_URL}" >> $GITHUB_OUTPUT
|
||||||
echo "unittest_failed_url=${UNIT_TEST_RESULT_URL}" >> $GITHUB_ENV
|
echo "unittest_failed_url=${UNIT_TEST_RESULT_URL}" >> $GITHUB_ENV
|
||||||
fi
|
fi
|
||||||
- name: Determine Unit Succ and whether the coverage rate reaches 80%
|
- name: Check Unit Test Success
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
|
cd FastDeploy
|
||||||
if [ "$TEST_EXIT_CODE" -eq 8 ]; then
|
if [ "$TEST_EXIT_CODE" -eq 8 ]; then
|
||||||
|
filename=$(basename "$unittest_failed_url")
|
||||||
if [ -z "${unittest_failed_url}" ]; then
|
if [ -z "${unittest_failed_url}" ]; then
|
||||||
echo "No diff unit failed file URL provided."
|
echo "No diff unit failed file URL provided."
|
||||||
else
|
else
|
||||||
wget ${unittest_failed_url} || echo "Download unittest file failed, but continuing..."
|
rm -rf "${filename}"
|
||||||
|
wget -O ${filename} ${unittest_failed_url} || echo "Download unittest file failed, but continuing..."
|
||||||
fi
|
fi
|
||||||
echo "Unit tests failed (exit code 8)"
|
echo "Unit tests failed (exit code 8)"
|
||||||
filename=$(basename "$unittest_failed_url")
|
|
||||||
if [ -f "${filename}" ];then
|
if [ -f "${filename}" ];then
|
||||||
echo "Failed test cases:"
|
echo "Failed test cases:"
|
||||||
cat "${filename}"
|
cat "${filename}"
|
||||||
fi
|
fi
|
||||||
exit "$TEST_EXIT_CODE"
|
exit "$TEST_EXIT_CODE"
|
||||||
fi
|
fi
|
||||||
|
echo "All tests passed"
|
||||||
|
|
||||||
|
- name: Verify Code Coverage Threshold (80%)
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cd FastDeploy
|
||||||
if [ "$COVERAGE_EXIT_CODE" -eq 9 ]; then
|
if [ "$COVERAGE_EXIT_CODE" -eq 9 ]; then
|
||||||
echo "Coverage generation failed (exit code 9)"
|
echo "Coverage generation failed (exit code 9)"
|
||||||
|
filename=$(basename "$diff_cov_result_json_url")
|
||||||
if [ -z "${diff_cov_result_json_url}" ]; then
|
if [ -z "${diff_cov_result_json_url}" ]; then
|
||||||
echo "No diff cov result file URL provided."
|
echo "No diff cov result file URL provided."
|
||||||
else
|
else
|
||||||
wget ${diff_cov_result_json_url} || echo "Download cov json file failed, but continuing..."
|
rm -rf "${filename}"
|
||||||
|
wget -O ${filename} ${diff_cov_result_json_url} || echo "Download cov json file failed, but continuing..."
|
||||||
fi
|
fi
|
||||||
filename=$(basename "$diff_cov_result_json_url")
|
|
||||||
if [ -f "${filename}" ];then
|
if [ -f "${filename}" ];then
|
||||||
echo "Failed test cases:"
|
echo "Failed test cases:"
|
||||||
if command -v jq >/dev/null 2>&1; then
|
if command -v jq >/dev/null 2>&1; then
|
||||||
@@ -188,7 +221,7 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
exit "$COVERAGE_EXIT_CODE"
|
exit "$COVERAGE_EXIT_CODE"
|
||||||
fi
|
fi
|
||||||
echo "All tests and coverage passed"
|
echo "coverage passed"
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
diff_coverage_report:
|
diff_coverage_report:
|
||||||
|
10
.github/workflows/pr_build_and_test.yml
vendored
10
.github/workflows/pr_build_and_test.yml
vendored
@@ -39,25 +39,27 @@ jobs:
|
|||||||
needs: [clone,build]
|
needs: [clone,build]
|
||||||
uses: ./.github/workflows/_unit_test_coverage.yml
|
uses: ./.github/workflows/_unit_test_coverage.yml
|
||||||
with:
|
with:
|
||||||
DOCKER_IMAGE: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddleqa:cuda126-py310
|
DOCKER_IMAGE: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddleqa:fastdeploy-ciuse-cuda126-dailyupdate
|
||||||
FASTDEPLOY_ARCHIVE_URL: ${{ needs.clone.outputs.repo_archive_url }}
|
FASTDEPLOY_ARCHIVE_URL: ${{ needs.clone.outputs.repo_archive_url }}
|
||||||
FASTDEPLOY_WHEEL_URL: ${{ needs.build.outputs.wheel_path }}
|
FASTDEPLOY_WHEEL_URL: ${{ needs.build.outputs.wheel_path }}
|
||||||
|
MODEL_CACHE_DIR: "/ssd2/actions-runner/ModelData"
|
||||||
|
|
||||||
logprob_test:
|
logprob_test:
|
||||||
name: Run FastDeploy LogProb Tests
|
name: Run FastDeploy LogProb Tests
|
||||||
needs: [build]
|
needs: [build]
|
||||||
uses: ./.github/workflows/_logprob_test_linux.yml
|
uses: ./.github/workflows/_logprob_test_linux.yml
|
||||||
with:
|
with:
|
||||||
DOCKER_IMAGE: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddleqa:cuda126-py310
|
DOCKER_IMAGE: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddleqa:fastdeploy-ciuse-cuda126-dailyupdate
|
||||||
PADDLETEST_ARCHIVE_URL: "https://xly-devops.bj.bcebos.com/PaddleTest/PaddleTest.tar.gz"
|
PADDLETEST_ARCHIVE_URL: "https://xly-devops.bj.bcebos.com/PaddleTest/PaddleTest.tar.gz"
|
||||||
FASTDEPLOY_WHEEL_URL: ${{ needs.build.outputs.wheel_path }}
|
FASTDEPLOY_WHEEL_URL: ${{ needs.build.outputs.wheel_path }}
|
||||||
MODEL_CACHE_DIR: "/ssd2/actions-runner/ModelCache"
|
MODEL_CACHE_DIR: "/ssd2/actions-runner/ModelData"
|
||||||
|
|
||||||
pre_ce_test:
|
pre_ce_test:
|
||||||
name: Extracted partial CE model tasks to run in CI.
|
name: Extracted partial CE model tasks to run in CI.
|
||||||
needs: [clone,build]
|
needs: [clone,build]
|
||||||
uses: ./.github/workflows/_pre_ce_test.yml
|
uses: ./.github/workflows/_pre_ce_test.yml
|
||||||
with:
|
with:
|
||||||
DOCKER_IMAGE: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddle:fastdeploy-ciuse-cuda126
|
DOCKER_IMAGE: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddleqa:fastdeploy-ciuse-cuda126-dailyupdate
|
||||||
FASTDEPLOY_ARCHIVE_URL: ${{ needs.clone.outputs.repo_archive_url }}
|
FASTDEPLOY_ARCHIVE_URL: ${{ needs.clone.outputs.repo_archive_url }}
|
||||||
FASTDEPLOY_WHEEL_URL: ${{ needs.build.outputs.wheel_path }}
|
FASTDEPLOY_WHEEL_URL: ${{ needs.build.outputs.wheel_path }}
|
||||||
|
MODEL_CACHE_DIR: "/ssd2/actions-runner/ModelData"
|
||||||
|
@@ -95,6 +95,7 @@ class TestOpenAIServingCompletion(unittest.TestCase):
|
|||||||
model_name=model_name,
|
model_name=model_name,
|
||||||
prompt_batched_token_ids=prompt_batched_token_ids,
|
prompt_batched_token_ids=prompt_batched_token_ids,
|
||||||
completion_batched_token_ids=completion_batched_token_ids,
|
completion_batched_token_ids=completion_batched_token_ids,
|
||||||
|
text_after_process_list=["1", "1"],
|
||||||
)
|
)
|
||||||
|
|
||||||
assert completion_response.id == request_id
|
assert completion_response.id == request_id
|
||||||
|
Reference in New Issue
Block a user