Files
2026-07-13 12:40:42 +08:00

393 lines
21 KiB
Bash

# Copyright (c) 2025 PaddlePaddle Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
source $(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/utils.sh
init
if [ "${WITH_ROCM}" != "ON" ]; then
export PATH=/usr/local/bin:${PATH}
ln -sf $(which python${PY_VERSION}) /usr/local/bin/python
ln -sf $(which pip${PY_VERSION}) /usr/local/bin/pip
fi
echo "::group::Installing zstd"
apt install zstd -y
echo "::endgroup::"
if [ `uname -s` == "Darwin" ]; then
# install deps for libuv
echo "::group::Installing autoconf automake libtool"
brew install autoconf automake libtool
echo "::endgroup::"
fi
if [ "$CI_name" == "cpu" ] || [ "$CI_name" == "coverage" ] || [ "$CI_name" == "xpu" ] || [ "$CI_name" == "distribute" ] || [ "$CI_name" == "build" ]; then
if [ "$CI_name" == "xpu" ]; then
echo "::group::Installing ninja-build"
apt install ninja-build -y
echo "::endgroup::"
fi
if [ "$CI_name" == "build" ]; then
export LD_LIBRARY_PATH=/usr/local/cuda/compat:/usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/lib/x86_64-linux-gnu:${LD_LIBRARY_PATH}
echo "export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}" >> ~/.bashrc
fi
pip config set global.cache-dir "/root/.cache/pip"
pip install --upgrade pip
echo "::group::Installing python dependencies"
if [ "$CI_name" != "distribute" ]; then
pip install -r "${work_dir}/python/unittest_py/requirements.txt"
fi
echo "::endgroup::"
fi
function run_setup(){
startTime_s=`date +%s`
mkdir -p ${PADDLE_ROOT}/build
cd ${PADDLE_ROOT}/build
# Build script will not fail if *.deb does not exist
rm *.deb 2>/dev/null || true
# Delete previous built egg packages
rm -rf ${PADDLE_ROOT}/dist 2>/dev/null || true
# Delete previous built paddle cache
rm -rf ${PADDLE_ROOT}/build/python/paddle 2>/dev/null || true
SYSTEM=`uname -s`
if [ "$SYSTEM" == "Darwin" ]; then
echo "Using python abi: $PYTHON_ABI"
if [ "$PYTHON_ABI" == "cp310-cp310" ]; then
if [ -d "/Library/Frameworks/Python.framework/Versions/3.10" ]; then
export LD_LIBRARY_PATH=/Library/Frameworks/Python.framework/Versions/3.10/lib/
export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:/Library/Frameworks/Python.framework/Versions/3.10/lib/
export PATH=/Library/Frameworks/Python.framework/Versions/3.10/bin/:${PATH}
#after changing "PYTHON_LIBRARY:FILEPATH" to "PYTHON_LIBRARY" ,we can use export
export PYTHON_EXECUTABLE=/Library/Frameworks/Python.framework/Versions/3.10/bin/python3
export PYTHON_INCLUDE_DIR=/Library/Frameworks/Python.framework/Versions/3.10/include/python3.10/
export PYTHON_LIBRARY=/Library/Frameworks/Python.framework/Versions/3.10/lib/libpython3.10.dylib
pip3.10 install --user -r ${PADDLE_ROOT}/python/requirements.txt
else
exit 1
fi
elif [ "$PYTHON_ABI" == "cp311-cp311" ]; then
if [ -d "/Library/Frameworks/Python.framework/Versions/3.11" ]; then
export LD_LIBRARY_PATH=/Library/Frameworks/Python.framework/Versions/3.11/lib/
export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:/Library/Frameworks/Python.framework/Versions/3.11/lib/
export PATH=/Library/Frameworks/Python.framework/Versions/3.11/bin/:${PATH}
#after changing "PYTHON_LIBRARY:FILEPATH" to "PYTHON_LIBRARY" ,we can use export
export PYTHON_EXECUTABLE=/Library/Frameworks/Python.framework/Versions/3.11/bin/python3
export PYTHON_INCLUDE_DIR=/Library/Frameworks/Python.framework/Versions/3.11/include/python3.11/
export PYTHON_LIBRARY=/Library/Frameworks/Python.framework/Versions/3.11/lib/libpython3.11.dylib
pip3.11 install --user -r ${PADDLE_ROOT}/python/requirements.txt
else
exit 1
fi
elif [ "$PYTHON_ABI" == "cp312-cp312" ]; then
if [ -d "/Library/Frameworks/Python.framework/Versions/3.12" ]; then
export LD_LIBRARY_PATH=/Library/Frameworks/Python.framework/Versions/3.12/lib/
export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:/Library/Frameworks/Python.framework/Versions/3.12/lib/
export PATH=/Library/Frameworks/Python.framework/Versions/3.12/bin/:${PATH}
#after changing "PYTHON_LIBRARY:FILEPATH" to "PYTHON_LIBRARY" ,we can use export
export PYTHON_EXECUTABLE=/Library/Frameworks/Python.framework/Versions/3.12/bin/python3
export PYTHON_INCLUDE_DIR=/Library/Frameworks/Python.framework/Versions/3.12/include/python3.12/
export PYTHON_LIBRARY=/Library/Frameworks/Python.framework/Versions/3.12/lib/libpython3.12.dylib
pip3.12 install --user -r ${PADDLE_ROOT}/python/requirements.txt
else
exit 1
fi
elif [ "$PYTHON_ABI" == "cp313-cp313" ]; then
if [ -d "/Library/Frameworks/Python.framework/Versions/3.13" ]; then
export LD_LIBRARY_PATH=/Library/Frameworks/Python.framework/Versions/3.13/lib/
export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:/Library/Frameworks/Python.framework/Versions/3.13/lib/
export PATH=/Library/Frameworks/Python.framework/Versions/3.13/bin/:${PATH}
#after changing "PYTHON_LIBRARY:FILEPATH" to "PYTHON_LIBRARY" ,we can use export
export PYTHON_EXECUTABLE=/Library/Frameworks/Python.framework/Versions/3.13/bin/python3
export PYTHON_INCLUDE_DIR=/Library/Frameworks/Python.framework/Versions/3.13/include/python3.13/
export PYTHON_LIBRARY=/Library/Frameworks/Python.framework/Versions/3.13/lib/libpython3.13.dylib
pip3.13 install --user -r ${PADDLE_ROOT}/python/requirements.txt
else
exit 1
fi
elif [ "$PYTHON_ABI" == "cp314-cp314" ]; then
if [ -d "/Library/Frameworks/Python.framework/Versions/3.14" ]; then
export LD_LIBRARY_PATH=/Library/Frameworks/Python.framework/Versions/3.14/lib/
export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:/Library/Frameworks/Python.framework/Versions/3.14/lib/
export PATH=/Library/Frameworks/Python.framework/Versions/3.14/bin/:${PATH}
#after changing "PYTHON_LIBRARY:FILEPATH" to "PYTHON_LIBRARY" ,we can use export
export PYTHON_EXECUTABLE=/Library/Frameworks/Python.framework/Versions/3.14/bin/python3
export PYTHON_INCLUDE_DIR=/Library/Frameworks/Python.framework/Versions/3.14/include/python3.14/
export PYTHON_LIBRARY=/Library/Frameworks/Python.framework/Versions/3.14/lib/libpython3.14.dylib
pip3.14 install --user -r ${PADDLE_ROOT}/python/requirements.txt
else
exit 1
fi
fi
else
if [ "$PYTHON_ABI" != "" ]; then
echo "using python abi: $PYTHON_ABI"
if [ "$PYTHON_ABI" == "cp310-cp310" ]; then
export LD_LIBRARY_PATH=/opt/_internal/cpython-3.10.0/lib/:${LD_LIBRARY_PATH}
export PATH=/opt/_internal/cpython-3.10.0/bin/:${PATH}
#after changing "PYTHON_LIBRARY:FILEPATH" to "PYTHON_LIBRARY" ,we can use export
export PYTHON_EXECUTABLE=/opt/_internal/cpython-3.10.0/bin/python3.10
export PYTHON_INCLUDE_DIR=/opt/_internal/cpython-3.10.0/include/python3.10
export PYTHON_LIBRARIES=/opt/_internal/cpython-3.10.0/lib/libpython3.so
pip3.10 install -r ${PADDLE_ROOT}/python/requirements.txt
pip3.10 install -r ${PADDLE_ROOT}/paddle/scripts/compile_requirements.txt
elif [ "$PYTHON_ABI" == "cp311-cp311" ]; then
export LD_LIBRARY_PATH=/opt/_internal/cpython-3.11.0/lib/:${LD_LIBRARY_PATH}
export PATH=/opt/_internal/cpython-3.11.0/bin/:${PATH}
#after changing "PYTHON_LIBRARY:FILEPATH" to "PYTHON_LIBRARY" ,we can use export
export PYTHON_EXECUTABLE=/opt/_internal/cpython-3.11.0/bin/python3.11
export PYTHON_INCLUDE_DIR=/opt/_internal/cpython-3.11.0/include/python3.11
export PYTHON_LIBRARIES=/opt/_internal/cpython-3.11.0/lib/libpython3.so
pip3.11 install -r ${PADDLE_ROOT}/python/requirements.txt
pip3.11 install -r ${PADDLE_ROOT}/paddle/scripts/compile_requirements.txt
elif [ "$PYTHON_ABI" == "cp312-cp312" ]; then
export LD_LIBRARY_PATH=/opt/_internal/cpython-3.12.0/lib/:${LD_LIBRARY_PATH}
export PATH=/opt/_internal/cpython-3.12.0/bin/:${PATH}
#after changing "PYTHON_LIBRARY:FILEPATH" to "PYTHON_LIBRARY" ,we can use export
export PYTHON_EXECUTABLE=/opt/_internal/cpython-3.12.0/bin/python3.12
export PYTHON_INCLUDE_DIR=/opt/_internal/cpython-3.12.0/include/python3.12
export PYTHON_LIBRARIES=/opt/_internal/cpython-3.12.0/lib/libpython3.so
pip3.12 install -r ${PADDLE_ROOT}/python/requirements.txt
pip3.12 install -r ${PADDLE_ROOT}/paddle/scripts/compile_requirements.txt
elif [ "$PYTHON_ABI" == "cp313-cp313" ]; then
export LD_LIBRARY_PATH=/opt/_internal/cpython-3.13.0/lib/:${LD_LIBRARY_PATH}
export PATH=/opt/_internal/cpython-3.13.0/bin/:${PATH}
#after changing "PYTHON_LIBRARY:FILEPATH" to "PYTHON_LIBRARY" ,we can use export
export PYTHON_EXECUTABLE=/opt/_internal/cpython-3.13.0/bin/python3.13
export PYTHON_INCLUDE_DIR=/opt/_internal/cpython-3.13.0/include/python3.13
export PYTHON_LIBRARIES=/opt/_internal/cpython-3.13.0/lib/libpython3.so
pip3.13 install -r ${PADDLE_ROOT}/python/requirements.txt
pip3.13 install -r ${PADDLE_ROOT}/paddle/scripts/compile_requirements.txt
elif [ "$PYTHON_ABI" == "cp314-cp314" ]; then
export LD_LIBRARY_PATH=/opt/_internal/cpython-3.14.0/lib/:${LD_LIBRARY_PATH}
export PATH=/opt/_internal/cpython-3.14.0/bin/:${PATH}
#after changing "PYTHON_LIBRARY:FILEPATH" to "PYTHON_LIBRARY" ,we can use export
export PYTHON_EXECUTABLE=/opt/_internal/cpython-3.14.0/bin/python3.14
export PYTHON_INCLUDE_DIR=/opt/_internal/cpython-3.14.0/include/python3.14
export PYTHON_LIBRARIES=/opt/_internal/cpython-3.14.0/lib/libpython3.so
pip3.14 install -r ${PADDLE_ROOT}/python/requirements.txt
pip3.14 install -r ${PADDLE_ROOT}/paddle/scripts/compile_requirements.txt
fi
else
echo "::group::Installing python dependencies"
pip install -r ${PADDLE_ROOT}/python/requirements.txt
echo "end"
echo "::endgroup::"
fi
fi
if [ "$SYSTEM" == "Darwin" ]; then
WITH_DISTRIBUTE="OFF"
WITH_AVX=${WITH_AVX:-ON}
WITH_ARM=${WITH_ARM:-OFF}
INFERENCE_DEMO_INSTALL_DIR=${INFERENCE_DEMO_INSTALL_DIR:-~/.cache/inference_demo}
else
INFERENCE_DEMO_INSTALL_DIR=${INFERENCE_DEMO_INSTALL_DIR:-/root/.cache/inference_demo}
fi
if [ -z "${WITH_CPP_TEST}" ] && [ "${WITH_TESTING}" == "ON" ];then
echo "::group::Installing PyGithub"
pip install PyGithub
echo "::endgroup::"
if [ "$SYSTEM" != "Darwin" ]; then
python ${PADDLE_ROOT}/tools/check_only_change_python_files.py
fi
if [ -f "${PADDLE_ROOT}/build/only_change_python_file.txt" ];then
export WITH_CPP_TEST=OFF
else
export WITH_CPP_TEST=ON
fi
fi
distributed_flag=${WITH_DISTRIBUTE:-OFF}
gloo_flag=${distributed_flag}
pscore_flag=${distributed_flag}
if [ "$CMD" != "assert_file_approvals" ];then
which python
python -V
python -m pip install distro
python ${PADDLE_ROOT}/tools/summary_env.py
bash ${PADDLE_ROOT}/tools/get_cpu_info.sh
fi
echo "if you use cmake to compile,please Configuring cmake in /paddle/build ..."
cat <<EOF
========================================
cmake .. -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE:-Release} -DWITH_GPU=${WITH_GPU:-OFF} -DWITH_SHARED_PHI=${WITH_SHARED_PHI:-OFF} -DWITH_TENSORRT=${WITH_TENSORRT:-ON} -DWITH_OPENVINO=${WITH_OPENVINO:-OFF} -DWITH_ROCM=${WITH_ROCM:-OFF} -DWITH_CINN=${WITH_CINN:-OFF} -DWITH_DISTRIBUTE=${distributed_flag} -DWITH_MKL=${WITH_MKL:-ON} -DWITH_AVX=${WITH_AVX:-OFF} -DCUDA_ARCH_NAME=${CUDA_ARCH_NAME:-All} -DNEW_RELEASE_PYPI=${NEW_RELEASE_PYPI:-OFF} -DNEW_RELEASE_ALL=${NEW_RELEASE_ALL:-OFF} -DNEW_RELEASE_JIT=${NEW_RELEASE_JIT:-OFF} -DWITH_PYTHON=${WITH_PYTHON:-ON} -DCUDNN_ROOT=/usr/ -DWITH_TESTING=${WITH_TESTING:-ON} -DWITH_COVERAGE=${WITH_COVERAGE:-OFF} -DWITH_INCREMENTAL_COVERAGE=${WITH_INCREMENTAL_COVERAGE:-OFF} -DCMAKE_MODULE_PATH=/opt/rocm/hip/cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DWITH_INFERENCE_API_TEST=${WITH_INFERENCE_API_TEST:-ON} -DINFERENCE_DEMO_INSTALL_DIR=${INFERENCE_DEMO_INSTALL_DIR} -DPY_VERSION=${PY_VERSION:-3.10} -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX:-/paddle/build} -DWITH_PSCORE=${pscore_flag} -DWITH_PSLIB=${pslib_flag} -DWITH_GLOO=${gloo_flag} -DWITH_XPU=${WITH_XPU:-OFF} -DWITH_IPU=${WITH_IPU:-OFF} -DXPU_SDK_ROOT=${XPU_SDK_ROOT:-""} -DWITH_XPU_BKCL=${WITH_XPU_BKCL:-OFF} -DWITH_XPU_XHPC=${WITH_XPU_XHPC:-OFF} -DWITH_XPU_XFT=${WITH_XPU_XFT:-OFF} -DWITH_XPU_XRE5=${WITH_XPU_XRE5:-OFF} -DWITH_XPU_FFT=${WITH_XPU_FFT:-OFF} -DWITH_ARM=${WITH_ARM:-OFF} -DWITH_STRIP=${WITH_STRIP:-ON} -DON_INFER=${ON_INFER:-OFF} -DCUDA_ARCH_BIN=${CUDA_ARCH_BIN} -DWITH_RECORD_BUILDTIME=${WITH_RECORD_BUILDTIME:-OFF} -DWITH_UNITY_BUILD=${WITH_UNITY_BUILD:-OFF} -DWITH_ONNXRUNTIME=${WITH_ONNXRUNTIME:-OFF} -DWITH_CUDNN_FRONTEND=${WITH_CUDNN_FRONTEND:-OFF} -DWITH_CPP_TEST=${WITH_CPP_TEST:-OFF} -DFA_BUILD_WITH_CACHE=${FA_BUILD_WITH_CACHE:-ON}
========================================
EOF
export CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE:-Release}
export WITH_GPU=${WITH_GPU:-OFF}
export WITH_TENSORRT=${WITH_TENSORRT:-ON}
export WITH_OPENVINO=${WITH_OPENVINO:-OFF}
export WITH_ROCM=${WITH_ROCM:-OFF}
export WITH_CINN=${WITH_CINN:-OFF}
export WITH_DISTRIBUTE=${distributed_flag}
export WITH_MKL=${WITH_MKL:-ON}
export WITH_AVX=${WITH_AVX:-ON}
export CUDA_ARCH_NAME=${CUDA_ARCH_NAME:-All}
export NEW_RELEASE_PYPI=${NEW_RELEASE_PYPI:-OFF}
export NEW_RELEASE_ALL=${NEW_RELEASE_ALL:-OFF}
export NEW_RELEASE_JIT=${NEW_RELEASE_JIT:-OFF}
export WITH_PYTHON=${WITH_PYTHON:-ON}
export CUDNN_ROOT=/usr/
export WITH_TESTING=${WITH_TESTING:-ON}
export WITH_COVERAGE=${WITH_COVERAGE:-OFF}
export WITH_INCREMENTAL_COVERAGE=${WITH_INCREMENTAL_COVERAGE:-OFF}
export CMAKE_MODULE_PATH=/opt/rocm/hip/cmake
export CMAKE_EXPORT_COMPILE_COMMANDS=ON
export WITH_INFERENCE_API_TEST=${WITH_INFERENCE_API_TEST:-ON}
export INFERENCE_DEMO_INSTALL_DIR=${INFERENCE_DEMO_INSTALL_DIR}
export PY_VERSION=${PY_VERSION:-3.10}
export CMAKE_INSTALL_PREFIX=${INSTALL_PREFIX:-/paddle/build}
export WITH_GLOO=${gloo_flag}
export WITH_XPU=${WITH_XPU:-OFF}
export WITH_IPU=${WITH_IPU:-OFF}
export XPU_SDK_ROOT=${XPU_SDK_ROOT:-""}
export WITH_XPU_BKCL=${WITH_XPU_BKCL:-OFF}
export WITH_XPU_XHPC=${WITH_XPU_XHPC:-OFF}
export WITH_XPU_XFT=${WITH_XPU_XFT:-OFF}
export WITH_XPU_XRE5=${WITH_XPU_XRE5:-OFF}
export WITH_XPU_FFT=${WITH_XPU_FFT:-OFF}
export WITH_ARM=${WITH_ARM:-OFF}
export WITH_STRIP=${WITH_STRIP:-ON}
export ON_INFER=${ON_INFER:-OFF}
export CUDA_ARCH_BIN=${CUDA_ARCH_BIN}
export WITH_RECORD_BUILDTIME=${WITH_RECORD_BUILDTIME:-OFF}
export WITH_UNITY_BUILD=${WITH_UNITY_BUILD:-OFF}
export WITH_ONNXRUNTIME=${WITH_ONNXRUNTIME:-OFF}
export WITH_CUDNN_FRONTEND=${WITH_CUDNN_FRONTEND:-OFF}
export WITH_SHARED_PHI=${WITH_SHARED_PHI:-OFF}
export WITH_NVCC_LAZY=${WITH_NVCC_LAZY:-ON}
export WITH_CPP_TEST=${WITH_CPP_TEST:-ON}
export FA_BUILD_WITH_CACHE=${FA_BUILD_WITH_CACHE:-ON}
if [ "$SYSTEM" == "Linux" ];then
if [ `nproc` -gt 16 ];then
parallel_number=$(expr `nproc` - 8)
else
parallel_number=`nproc`
fi
else
parallel_number=8
fi
if [ "$parallel_number_env" != "" ]; then
parallel_number=$parallel_number_env
fi
# reset ccache zero stats for collect PR's actual hit rate
if [ "${MAX_JOBS}" == "" ]; then
export MAX_JOBS=${parallel_number}
fi
ccache -z
cd ..
if [ "${PYTHON_EXECUTABLE}" != "" ];then
if [ "$SYSTEM" == "Darwin" ]; then
if [ "$WITH_ARM" == 'ON' ];then
${PYTHON_EXECUTABLE} setup.py $1 --plat-name=macosx_11_0_arm64;build_error=$?
else
${PYTHON_EXECUTABLE} setup.py $1 --plat-name=macosx_10_9_x86_64;build_error=$?
fi
else
${PYTHON_EXECUTABLE} setup.py $1;build_error=$?
fi
else
if [ "$SYSTEM" == "Darwin" ]; then
if [ "$WITH_ARM" == 'ON' ];then
python3 setup.py $1 --plat-name=macosx_10_9_arm64;build_error=$?
else
python3 setup.py $1 --plat-name=macosx_10_9_x86_64;build_error=$?
fi
else
python setup.py $1;build_error=$?
fi
fi
# ci will collect ccache hit rate
collect_ccache_hits
if [ "$build_error" != 0 ];then
exit 7;
fi
build_size
endTime_s=`date +%s`
[ -n "$startTime_firstBuild" ] && startTime_s=$startTime_firstBuild
echo "Build Time: $[ $endTime_s - $startTime_s ]s"
echo "ipipe_log_param_Build_Time: $[ $endTime_s - $startTime_s ]s" >> ${PADDLE_ROOT}/build/build_summary.txt
}
run_setup "$@"
cp ${PADDLE_ROOT}/dist/*.whl ${PADDLE_ROOT}
if [[ "$CI_name" == "build" && "$is_pr" == "true" ]]; then
if [ ! -d "${PADDLE_ROOT}/build/python/dist/" ]; then
mkdir ${PADDLE_ROOT}/build/python/dist/
fi
mv ${PADDLE_ROOT}/dist/*.whl ${PADDLE_ROOT}/build/python/dist/
cmake_change=`git diff --name-only upstream/$BRANCH | grep "cmake/external" || true`
# Temporarily save some scripts from PR branch
mkdir -p /tmp
cp ${PADDLE_ROOT}/python/requirements.txt /tmp
cp ${PADDLE_ROOT}/tools/print_signatures.py /tmp
generate_api_spec "" "PR"
mkdir ${PADDLE_ROOT}/build/pr_whl && cp ${PADDLE_ROOT}/build/python/dist/*.whl ${PADDLE_ROOT}/build/pr_whl
rm -f ${PADDLE_ROOT}/build/python/dist/*.whl && rm -f ${PADDLE_ROOT}/build/python/build/.timestamp
git checkout $BRANCH
dev_commit=`git log -2|grep -w 'commit'|awk '{print $2}'`
for commit_id in $dev_commit
do
dev_url="https://xly-devops.bj.bcebos.com/PR/build_whl/0/${commit_id}/paddlepaddle_gpu-0.0.0-cp310-cp310-linux_x86_64.whl"
url_return=`curl -s -m 5 -IL ${dev_url} |awk 'NR==1{print $2}'`
if [ "$url_return" == '200' ];then
break
fi
done
if [ "$url_return" == '200' ];then
mkdir ${PADDLE_ROOT}/build/dev_whl && wget -q -P ${PADDLE_ROOT}/build/dev_whl ${dev_url}
cp ${PADDLE_ROOT}/build/dev_whl/paddlepaddle_gpu-0.0.0-cp310-cp310-linux_x86_64.whl ${PADDLE_ROOT}/build/python/dist
else
cp -r ${PADDLE_ROOT}/build /tmp/
if [[ ${cmake_change} ]];then
rm -rf ${PADDLE_ROOT}/build/Makefile ${PADDLE_ROOT}/build/CMakeCache.txt ${PADDLE_ROOT}/build/build.ninja
rm -rf ${PADDLE_ROOT}/build/third_party
fi
git checkout $BRANCH
git submodule update --init
run_setup "rerun-cmake bdist_wheel"
rm -rf ${PADDLE_ROOT}/build
mv /tmp/build ${PADDLE_ROOT}
if [ ! -d "${PADDLE_ROOT}/build/python/dist/" ]; then
mkdir ${PADDLE_ROOT}/build/python/dist/
fi
mv ${PADDLE_ROOT}/dist/*.whl ${PADDLE_ROOT}/build/python/dist/
mkdir ${PADDLE_ROOT}/build/dev_whl && cp ${PADDLE_ROOT}/build/python/dist/*.whl ${PADDLE_ROOT}/build/dev_whl
git checkout test
fi
generate_api_spec "" "DEV"
fi
if [[ -f ${PADDLE_ROOT}/build/build_summary.txt ]];then
echo "=====================build summary======================"
cat ${PADDLE_ROOT}/build/build_summary.txt
echo "========================================================"
fi