diff --git a/.github/workflows/Test-release3.3.yml b/.github/workflows/Test-release3.3.yml index daa22afce..3db4ce39b 100644 --- a/.github/workflows/Test-release3.3.yml +++ b/.github/workflows/Test-release3.3.yml @@ -21,6 +21,7 @@ env: CI_name: test no_proxy: "bcebos.com,.bcebos.com,apiin.im.baidu.com,gitee.com,aliyun.com,.baidu.com,.tuna.tsinghua.edu.cn" docker_image: "ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddle:cuda129-coverage-test" + build_image: "ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddle_manylinux_devel:cuda12.9-cudnn9.9-trt10.5-gcc11" formers_branch: "release/1.1" defaults: @@ -45,32 +46,41 @@ jobs: group: GZ_BD-CPU env: TASK: fleet-ci-paddle-release-build-whl-${{ github.event.pull_request.number }} + PIP_CACHE_DIR: /home/.cache/pip + CACHE_DIR: /home/.cache + UV_HTTP_TIMEOUT: 600 + no_proxy: ".bcebos.com,bcebos.com,apiin.im.baidu.com,gitee.com,aliyun.com,.baidu.com,.tuna.tsinghua.edu.cn" steps: - name: Check docker image and run container run: | container_name=${TASK}-$(date +%Y%m%d-%H%M%S) echo "container_name=${container_name}" >> ${{ github.env }} - docker pull $docker_image + docker pull $build_image docker run -d -t --name ${container_name} \ - -v "/dev/shm:/dev/shm" \ -v "/home/data/cfs:/home/data/cfs" \ - -v ${{ github.workspace }}/../../..:${{ github.workspace }}/../../.. \ + -v "/home/data/cfs/.cache:/home/.cache" \ + -v ${{ github.workspace }}/../../..:/root \ + -v ${{ github.workspace }}/../../../proxy:/root/proxy \ -v ${{ github.workspace }}:/paddle \ - -e BRANCH \ + -e no_proxy \ + -e CACHE_DIR \ + -e PIP_CACHE_DIR \ + -e UV_HTTP_TIMEOUT \ -e PR_ID \ -e COMMIT_ID \ - -e PADDLE_ROOT \ - -e ci_scripts \ - -e no_proxy \ - -e CI_name \ - -w /paddle --network host ${docker_image} + -e BRANCH \ + -e AK=${{ secrets.BOS_CREDENTIAL_AK }} \ + -e SK=${{ secrets.BOS_CREDENTIAL_SK }} \ + -e GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} \ + -e GITHUB_REPO_NAME=${{ github.repository }} \ + -w /paddle --network=host $build_image - name: uv build whl run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' rm -rf * .[^.]* set -x - source ${{ github.workspace }}/../../../proxy + source /root/proxy git clone https://github.com/PaddlePaddle/PaddleFleet.git . git config --global --add safe.directory /paddle git config user.name "PaddleCI" @@ -79,17 +89,19 @@ jobs: git checkout ${BRANCH} git log -1 git pull --no-edit origin pull/${PR_ID}/head - mkdir -p /home/.cache/pip - pip cache dir - echo "Install uv" + git submodule update --init --recursive export UV_HTTP_TIMEOUT=300 - pip install uv coverage==7.13.0 bce-python-sdk==0.8.74 wrapt echo "uv build" - git submodule update --init --recursive - export LD_LIBRARY_PATH=/usr/local/cuda-12.9/compat:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH=/opt/_internal/cpython-3.13.0/lib/:${LD_LIBRARY_PATH} + export PATH=/opt/_internal/cpython-3.13.0/bin/:${PATH} + export UV_PYTHON=3.13 export PADDLEFLEET_VERSION=0.0.0 export IS_NVIDIA=True - uv build --wheel + mkdir -p /root/.cache/pip + pip cache dir + pip install --upgrade pip + pip install uv coverage==7.13.0 bce-python-sdk==0.8.74 wrapt + uv build --wheel -v ' - name: upload whl to BOS @@ -97,6 +109,9 @@ jobs: docker exec -t ${{ env.container_name }} /bin/bash -ce ' export AK=paddle export SK=paddle + export LD_LIBRARY_PATH=/opt/_internal/cpython-3.13.0/lib/:${LD_LIBRARY_PATH} + export PATH=/opt/_internal/cpython-3.13.0/bin/:${PATH} + export UV_PYTHON=3.13 cd / if [ ! -f "bos/BosClient.py" ]; then wget -q --no-proxy -O bos_new.tar.gz https://xly-devops.bj.bcebos.com/home/bos_new.tar.gz --no-check-certificate @@ -165,18 +180,34 @@ jobs: -e repo_flag="paddlefleet" \ -w /paddle --network host ${docker_image} + - name: install miniconda + run: | + docker exec -t ${{ env.container_name }} /bin/bash -ce ' + set -x + source /root/proxy + wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main + conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r + conda init bash + echo "conda installed" + conda create -n py313 python=3.13 -y + ' + - name: Install PaddleFleet run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' rm -rf * .[^.]* set -x source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 wget -q --tries=5 --no-proxy --no-check-certificate https://paddle-github-action.cdn.bcebos.com/PaddleFleet/PR/${PR_ID}/${COMMIT_ID}/${BRANCH}/paddldfleet.tar.gz tar -xf paddldfleet.tar.gz --strip-components=1 git config --global --add safe.directory /paddle git checkout ${BRANCH} - pip install uv coverage==7.13.0 bce-python-sdk==0.8.74 wrapt - pip install dist/paddlefleet-0.0.0-cp310-cp310-linux_x86_64.whl --extra-index-url=https://www.paddlepaddle.org.cn/packages/nightly/cu129/ --extra-index-url=https://www.paddlepaddle.org.cn/packages/stable/cu129/ + pip install uv coverage==7.13.0 bce-python-sdk==0.8.74 wrapt pytest + pip install dist/paddlefleet-0.0.0-cp313-cp313-linux_x86_64.whl --extra-index-url=https://www.paddlepaddle.org.cn/packages/nightly/cu129/ --extra-index-url=https://www.paddlepaddle.org.cn/packages/stable/cu129/ echo "paddlefleet commit:" python -c "import paddlefleet; print(paddlefleet.version.commit)" ' @@ -185,6 +216,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -xce ' pwd + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 export COVERAGE_FILE=/paddle/coveragedata/.coverage export COVERAGE_RCFILE=/paddle/ci/.coveragerc export WITH_COVERAGE=ON @@ -207,6 +240,8 @@ jobs: - name: Single card Coverage Upload to BOS run: | docker exec -t ${{ env.container_name }} /bin/bash -xce ' + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 export COVERAGE_FILE=/paddle/coveragedata/.coverage export COVERAGE_RCFILE=/paddle/ci/.coveragerc export WITH_COVERAGE=ON @@ -268,17 +303,33 @@ jobs: -e repo_flag="paddlefleet" \ -w /paddle --network host ${docker_image} + - name: install miniconda + run: | + docker exec -t ${{ env.container_name }} /bin/bash -ce ' + set -x + source /root/proxy + wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main + conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r + conda init bash + echo "conda installed" + conda create -n py313 python=3.13 -y + ' + - name: Clone PaddleFleet run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' rm -rf * .[^.]* source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 set -x wget -q --tries=5 --no-proxy --no-check-certificate https://paddle-github-action.cdn.bcebos.com/PaddleFleet/PR/${PR_ID}/${COMMIT_ID}/${BRANCH}/paddldfleet.tar.gz tar -xf paddldfleet.tar.gz --strip-components=1 git config --global --add safe.directory /paddle - pip install uv coverage==7.13.0 bce-python-sdk==0.8.74 wrapt - pip install dist/paddlefleet-0.0.0-cp310-cp310-linux_x86_64.whl --extra-index-url=https://www.paddlepaddle.org.cn/packages/nightly/cu129/ --extra-index-url=https://www.paddlepaddle.org.cn/packages/stable/cu129/ + pip install uv coverage==7.13.0 bce-python-sdk==0.8.74 wrapt pytest + pip install dist/paddlefleet-0.0.0-cp313-cp313-linux_x86_64.whl --extra-index-url=https://www.paddlepaddle.org.cn/packages/nightly/cu129/ --extra-index-url=https://www.paddlepaddle.org.cn/packages/stable/cu129/ echo "paddlefleet commit:" python -c "import paddlefleet; print(paddlefleet.version.commit)" echo "paddle commit:" @@ -290,6 +341,8 @@ jobs: - name: Multi-card test run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 export WITH_COVERAGE=ON export COVERAGE_FILE=/paddle/coveragedata/.coverage export COVERAGE_RCFILE=/paddle/ci/.coveragerc @@ -310,6 +363,8 @@ jobs: - name: Multi-card Coverage Upload to BOS run: | docker exec -t ${{ env.container_name }} /bin/bash -xce ' + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 export COVERAGE_FILE=/paddle/coveragedata/.coverage export COVERAGE_RCFILE=/paddle/ci/.coveragerc export WITH_COVERAGE=ON @@ -382,6 +437,20 @@ jobs: -e PP="rel" \ -w /workspace --network host ${docker_image} + - name: install miniconda + run: | + docker exec -t ${{ env.container_name }} /bin/bash -ce ' + set -x + source /root/proxy + wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main + conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r + conda init bash + echo "conda installed" + conda create -n py313 python=3.13 -y + ' + - name: Install PaddleFleet run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' @@ -389,13 +458,15 @@ jobs: rm -rf * .[^.]* set -x source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 mkdir PaddleFleet && cd PaddleFleet wget -q --tries=5 --no-proxy --no-check-certificate https://paddle-github-action.cdn.bcebos.com/PaddleFleet/PR/${PR_ID}/${COMMIT_ID}/${BRANCH}/paddldfleet.tar.gz tar -xf paddldfleet.tar.gz --strip-components=1 git config --global --add safe.directory /workspace/PaddleFleet git checkout ${BRANCH} pip install uv coverage==7.13.0 bce-python-sdk==0.8.74 wrapt - pip install dist/paddlefleet-0.0.0-cp310-cp310-linux_x86_64.whl --extra-index-url=https://www.paddlepaddle.org.cn/packages/nightly/cu129/ --extra-index-url=https://www.paddlepaddle.org.cn/packages/stable/cu129/ + pip install dist/paddlefleet-0.0.0-cp313-cp313-linux_x86_64.whl --extra-index-url=https://www.paddlepaddle.org.cn/packages/nightly/cu129/ --extra-index-url=https://www.paddlepaddle.org.cn/packages/stable/cu129/ echo "paddlefleet commit:" python -c "import paddlefleet; print(paddlefleet.version.commit)" echo "paddle commit:" @@ -408,6 +479,8 @@ jobs: docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy set -x + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 python -m pip install --upgrade pip git clone -b develop https://github.com/PaddlePaddle/PaddleFormers.git cd PaddleFormers @@ -437,6 +510,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 bash -x PaddleFormers/tests/integration_test/preprocess.sh preprocess_exit_code=$? if [[ "$preprocess_exit_code" != "0" ]]; then @@ -452,6 +527,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 mkdir -p /workspace/PaddleFleet/coveragedata-single export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata-single/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc @@ -470,6 +547,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 mkdir -p /workspace/PaddleFleet/coveragedata-qwen export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata-single/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc @@ -488,6 +567,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 mkdir -p /workspace/PaddleFleet/coveragedata-qwen3vl-single export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata-single/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc @@ -504,6 +585,8 @@ jobs: - name: H20 Coverage Upload to BOS run: | docker exec -t ${{ env.container_name }} /bin/bash -xce ' + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 ls -a /workspace/PaddleFleet/coveragedata-single export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata-single/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc @@ -571,11 +654,27 @@ jobs: -e PP="rel" \ -w /workspace --network host ${docker_image} + - name: install miniconda + run: | + docker exec -t ${{ env.container_name }} /bin/bash -ce ' + set -x + source /root/proxy + wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main + conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r + conda init bash + echo "conda installed" + conda create -n py313 python=3.13 -y + ' + - name: Install PaddleFleet run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' rm -rf * .[^.]* set -x + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 source /root/proxy mkdir PaddleFleet && cd PaddleFleet wget -q --tries=5 --no-proxy --no-check-certificate https://paddle-github-action.cdn.bcebos.com/PaddleFleet/PR/${PR_ID}/${COMMIT_ID}/${BRANCH}/paddldfleet.tar.gz @@ -583,7 +682,7 @@ jobs: git config --global --add safe.directory /workspace/PaddleFleet git checkout ${BRANCH} pip install uv coverage==7.13.0 bce-python-sdk==0.8.74 wrapt - pip install dist/paddlefleet-0.0.0-cp310-cp310-linux_x86_64.whl --extra-index-url=https://www.paddlepaddle.org.cn/packages/nightly/cu129/ --extra-index-url=https://www.paddlepaddle.org.cn/packages/stable/cu129/ + pip install dist/paddlefleet-0.0.0-cp313-cp313-linux_x86_64.whl --extra-index-url=https://www.paddlepaddle.org.cn/packages/nightly/cu129/ --extra-index-url=https://www.paddlepaddle.org.cn/packages/stable/cu129/ echo "paddlefleet commit:" echo "paddlefleet commit:" python -c "import paddlefleet; print(paddlefleet.version.commit)" @@ -597,6 +696,8 @@ jobs: docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy set -x + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 python -m pip install --upgrade pip git clone -b develop https://github.com/PaddlePaddle/PaddleFormers.git cd PaddleFormers @@ -625,6 +726,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 mkdir -p /workspace/PaddleFleet/coveragedata-multi export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata-multi/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc @@ -643,6 +746,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 mkdir -p /workspace/PaddleFleet/coveragedata-multi export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata-multi/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc @@ -661,6 +766,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 mkdir -p /workspace/PaddleFleet/coveragedata-multi export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata-multi/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc @@ -679,6 +786,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 mkdir -p /workspace/PaddleFleet/coveragedata-multi export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata-multi/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc @@ -697,6 +806,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 mkdir -p /workspace/PaddleFleet/coveragedata-multi export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata-multi/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc @@ -708,6 +819,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 mkdir -p /workspace/PaddleFleet/coveragedata-multi export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata-multi/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc @@ -726,6 +839,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 mkdir -p /workspace/PaddleFleet/coveragedata-multi export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata-multi/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc @@ -744,6 +859,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 mkdir -p /workspace/PaddleFleet/coveragedata-multi export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata-multi/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc @@ -755,6 +872,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 mkdir -p /workspace/PaddleFleet/coveragedata-multi export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata-multi/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc @@ -766,6 +885,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 mkdir -p /workspace/PaddleFleet/coveragedata-multi export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata-multi/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc @@ -777,6 +898,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 mkdir -p /workspace/PaddleFleet/coveragedata-multi export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata-multi/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc @@ -788,6 +911,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 mkdir -p /workspace/PaddleFleet/coveragedata-multi export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata-multi/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc @@ -799,6 +924,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 mkdir -p /workspace/PaddleFleet/coveragedata-multi export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata-multi/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc @@ -810,6 +937,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 mkdir -p /workspace/PaddleFleet/coveragedata-multi export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata-multi/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc @@ -821,6 +950,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 mkdir -p /workspace/PaddleFleet/coveragedata-multi export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata-multi/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc @@ -830,6 +961,8 @@ jobs: - name: H20 Coverage Upload to BOS run: | docker exec -t ${{ env.container_name }} /bin/bash -xce ' + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata-multi/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc ls -a /workspace/PaddleFleet/coveragedata-multi @@ -897,19 +1030,35 @@ jobs: -e PP="rel" \ -w /workspace --network host ${docker_image} + - name: install miniconda + run: | + docker exec -t ${{ env.container_name }} /bin/bash -ce ' + set -x + source /root/proxy + wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main + conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r + conda init bash + echo "conda installed" + conda create -n py313 python=3.13 -y + ' + - name: Install PaddleFleet run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' rm -rf * .[^.]* source /root/proxy set -x + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 mkdir PaddleFleet && cd PaddleFleet wget -q --tries=5 --no-proxy --no-check-certificate https://paddle-github-action.cdn.bcebos.com/PaddleFleet/PR/${PR_ID}/${COMMIT_ID}/${BRANCH}/paddldfleet.tar.gz tar -xf paddldfleet.tar.gz --strip-components=1 git config --global --add safe.directory /workspace/PaddleFleet git checkout ${BRANCH} pip install uv coverage==7.13.0 bce-python-sdk==0.8.74 wrapt - pip install dist/paddlefleet-0.0.0-cp310-cp310-linux_x86_64.whl --extra-index-url=https://www.paddlepaddle.org.cn/packages/nightly/cu129/ --extra-index-url=https://www.paddlepaddle.org.cn/packages/stable/cu129/ + pip install dist/paddlefleet-0.0.0-cp313-cp313-linux_x86_64.whl --extra-index-url=https://www.paddlepaddle.org.cn/packages/nightly/cu129/ --extra-index-url=https://www.paddlepaddle.org.cn/packages/stable/cu129/ echo "paddlefleet commit:" echo "paddlefleet commit:" python -c "import paddlefleet; print(paddlefleet.version.commit)" @@ -923,6 +1072,8 @@ jobs: docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy set -x + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 python -m pip install --upgrade pip git clone -b develop https://github.com/PaddlePaddle/PaddleFormers.git cd PaddleFormers @@ -952,6 +1103,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc timeout 5m bash -x PaddleFormers/tests/integration_test/glm45_a100.sh pt @@ -969,6 +1122,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc timeout 5m bash -x PaddleFormers/tests/integration_test/glm45_a100.sh sft @@ -986,6 +1141,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc timeout 5m bash -x PaddleFormers/tests/integration_test/glm45_a100.sh lora @@ -1003,6 +1160,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc timeout 5m bash -x PaddleFormers/tests/integration_test/glm45_a100.sh dpo @@ -1020,6 +1179,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc timeout 5m bash -x PaddleFormers/tests/integration_test/glm45_a100.sh dpo_lora @@ -1037,6 +1198,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc timeout 5m bash -x PaddleFormers/tests/integration_test/qwen3_a100.sh pt @@ -1047,6 +1210,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc timeout 5m bash -x PaddleFormers/tests/integration_test/qwen3_a100.sh sft @@ -1057,6 +1222,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc timeout 5m bash -x PaddleFormers/tests/integration_test/qwen3_a100.sh lora @@ -1067,6 +1234,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc timeout 5m bash -x PaddleFormers/tests/integration_test/qwen3vl_sft.sh tp8 a100 @@ -1077,6 +1246,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc timeout 5m bash -x PaddleFormers/tests/integration_test/qwen3vl_lora.sh a100 @@ -1088,6 +1259,8 @@ jobs: run: | docker exec -t ${{ env.container_name }} /bin/bash -ce ' source /root/proxy + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc timeout 10m bash -x PaddleFormers/tests/integration_test/qwen3vl_sft.sh moe a100 @@ -1096,6 +1269,8 @@ jobs: - name: A100 Coverage Upload to BOS run: | docker exec -t ${{ env.container_name }} /bin/bash -xce ' + source "$HOME/miniconda/etc/profile.d/conda.sh" + conda activate py313 export COVERAGE_FILE=/workspace/PaddleFleet/coveragedata/.coverage export COVERAGE_RCFILE=/workspace/PaddleFleet/ci/.coveragerc ls -a /workspace/PaddleFleet/coveragedata @@ -1151,8 +1326,8 @@ jobs: filepath="${config#*:}" wget "${base_url}/${filepath}" -O "$filename" --no-proxy sed -i "s||paddlefleet|" "$filename" - sed -i "s|/usr/local/lib/python3.10/dist-packages/|src/|" "$filename" - sed -i "s|.usr.local.lib.python3.10.dist-packages.paddlefleet|src|" "$filename" + sed -i "s|/root/miniconda/envs/py313/lib/python3.13/site-packages/|src/|" "$filename" + sed -i "s|.root.miniconda.envs.py313.lib.python3.13.site-packages|src|" "$filename" fi done git diff origin/${{ github.event.pull_request.base.ref }}...HEAD --unified=0 > diff.txt diff --git a/.github/workflows/ce_daily_dev.yml b/.github/workflows/ce_daily_dev.yml index dca2250e4..4c929be24 100644 --- a/.github/workflows/ce_daily_dev.yml +++ b/.github/workflows/ce_daily_dev.yml @@ -402,7 +402,6 @@ jobs: docker exec -t ${{ env.container_name }} /bin/bash -c 'bash ci/clean_uv_cache.sh; rm -rf * .[^.]*' docker rm -f ${{ env.container_name }} - integration-test-H20-single-card: name: Integration test (H20, single card) runs-on: @@ -671,7 +670,7 @@ jobs: -O bos_tools.py push_file=$(realpath bos_tools.py) cp /workspace/PaddleFleet/coveragedata-single/coverage.xml coverage.xml - target_path_single="paddle-github-action/${GITHUB_REPO_NAME}/pull/ce/$(date +%Y%m%d)/h20-single" + target_path_single="paddle-github-action/${GITHUB_REPO_NAME}/ce/$(date +%Y%m%d)/h20-single" python ${push_file} coverage.xml ${target_path_single} ' diff --git a/.github/workflows/check_pr.yml b/.github/workflows/check_pr.yml index 9d3f940f2..b8ba70fd6 100644 --- a/.github/workflows/check_pr.yml +++ b/.github/workflows/check_pr.yml @@ -24,3 +24,21 @@ jobs: echo "✅ PR 描述符合要求。" echo "字数统计: ${#DESCRIPTION} 个字符" fi + - name: Checkout repository + uses: actions/checkout@v6 + with: + fetch-depth: 0 + - uses: actions/setup-python@v6 + with: + python-version: '3.10' + - name: Check uv.lock is not deleted + run: | + git diff --name-status origin/${{ github.base_ref }}...HEAD | tee changed_files.txt + if cat changed_files.txt | grep -q "^D.*uv\.lock"; then + echo "::error::uv.lock cannot be deleted in this PR" + exit 1 + elif cat changed_files.txt | grep -q "^R.*uv\.lock"; then + echo "::error::uv.lock cannot be renamed in this PR" + exit 1 + fi + echo "uv.lock is intact"