Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 75 additions & 0 deletions .github/workflows/xpu_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: CI_XPU

on:
pull_request:
branches:
- develop
paths-ignore:
- '**.md'
- '**.txt'
workflow_dispatch:

concurrency:
group: ${{ github.event.pull_request.number }}-xpu-ci
cancel-in-progress: true

jobs:
CI_XPU:
timeout-minutes: 60
runs-on: [self-hosted, XPU-P800-2Card]
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.3.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 "PaddleCI"
git config --global user.email "[email protected]"
git clone ${REPO} ${REPO_NAME} -b ${BASE_BRANCH}
cd PaddleX
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.3.0
run: |
runner_name="${{ runner.name }}"
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 \
-e "http_proxy=$(git config --global --get http.proxy)" \
-e "https_proxy=$(git config --global --get https.proxy)" \
-e "no_proxy=bcebos.com,mirrors.tuna.tsinghua.edu.cn,127.0.0.1,localhost" \
${docker_image} /bin/bash -c "
git config --global --add safe.directory /workspace/PaddleX
cd PaddleX
bash tests/run_xpu_ci.sh
"
16 changes: 16 additions & 0 deletions tests/run_xpu_ci.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
wget https://paddle-model-ecology.bj.bcebos.com/paddlex/tmp/PaddleTest.tar
tar -xf PaddleTest.tar && rm -rf PaddleTest.tar
xpu-smi
python --version
python -m pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
python -m pip install https://paddle-qa.bj.bcebos.com/paddle-pipeline/Develop-TagBuild-Training-Linux-Xpu-P800-SelfBuiltPypiUse/latest/paddlepaddle_xpu-0.0.0-cp310-cp310-linux_x86_64.whl
python -c "import paddle; paddle.version.show()"
cp -r PaddleTest/models/PaddleX/ci ./
export DEVICE_ID=6,7
export PADDLE_PDX_DISABLE_DEV_MODEL_WL=true
export MEM_SIZE=32
export DEVICE_TYPE=xpu
rm -rf ci/pr_list.txt
mv ci/pr_list_xpu.txt ci/pr_list.txt
export PIP_DEFAULT_RETRIES=1
bash ci/ci_run.sh