[Feature] support dp multi api server #2435
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI_XPU | |
on: | |
pull_request: | |
branches: | |
- develop | |
- 'release/*' | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.event.pull_request.number }}-xpu-ci | |
cancel-in-progress: true | |
jobs: | |
CI_XPU: | |
runs-on: [self-hosted, XPU-P800-8Card] | |
steps: | |
- name: Print current runner name | |
run: | | |
echo "Current runner name: ${{ runner.name }}" | |
# Because the system version is lower than 2.23, the checkout cannot be used. | |
# - name: Checkout code | |
# uses: actions/checkout@v4 | |
- name: Code Checkout | |
env: | |
docker_image: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/fastdeploy-xpu:2.0.0 | |
run: | | |
REPO="https://github.com/${{ github.repository }}.git" | |
FULL_REPO="${{ github.repository }}" | |
REPO_NAME="${FULL_REPO##*/}" | |
BASE_BRANCH="${{ github.base_ref }}" | |
# Clean the repository directory before starting | |
docker run --rm --net=host -v $(pwd):/workspace -w /workspace \ | |
-e "REPO_NAME=${REPO_NAME}" \ | |
-e "BASE_BRANCH=${BASE_BRANCH}" \ | |
${docker_image} /bin/bash -c ' | |
if [ -d ${REPO_NAME} ]; then | |
echo "Directory ${REPO_NAME} exists, removing it..." | |
rm -rf ${REPO_NAME} | |
fi | |
' | |
git config --global user.name "FastDeployCI" | |
git config --global user.email "fastdeploy_ci@example.com" | |
git clone ${REPO} ${REPO_NAME} -b ${BASE_BRANCH} | |
cd FastDeploy | |
if [ "${{ github.event_name }}" = "pull_request" ]; then | |
git fetch origin pull/${{ github.event.pull_request.number }}/head:pr/${{ github.event.pull_request.number }} | |
git merge pr/${{ github.event.pull_request.number }} | |
git log -n 3 --oneline | |
else | |
git checkout ${{ github.sha }} | |
git log -n 3 --oneline | |
fi | |
- name: Run CI unittest | |
env: | |
docker_image: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/fastdeploy-xpu:2.0.0 | |
run: | | |
runner_name="${{ runner.name }}" | |
last_char="${runner_name: -1}" | |
if [[ "$last_char" =~ [0-3] ]]; then | |
gpu_id="$last_char" | |
else | |
gpu_id="0" | |
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 --cap-add=SYS_PTRACE --privileged --shm-size=64G \ | |
-v $(pwd):/workspace -w /workspace \ | |
-v "/ssd3:/ssd3" \ | |
-e "MODEL_PATH=/ssd3/model" \ | |
-e "http_proxy=$(git config --global --get http.proxy)" \ | |
-e "https_proxy=$(git config --global --get https.proxy)" \ | |
-e "FD_API_PORT=${FD_API_PORT}" \ | |
-e "FD_ENGINE_QUEUE_PORT=${FD_ENGINE_QUEUE_PORT}" \ | |
-e "FD_METRICS_PORT=${FD_METRICS_PORT}" \ | |
${docker_image} /bin/bash -c " | |
git config --global --add safe.directory /workspace/FastDeploy | |
cd FastDeploy | |
bash scripts/run_ci_xpu.sh | |
" |