Port patches from 1.0.0 branch (#5336)

* Remove f-string, since it's not supported by Python 3.5 (#5330)

* Remove f-string, since it's not supported by Python 3.5

* Add Python 3.5 to CI, to ensure compatibility

* Remove duplicated matplotlib

* Show deprecation notice for Python 3.5

* Fix lint

* Fix lint

* Fix a unit test that mistook MINOR ver for PATCH ver

* Enforce only major version in JSON model schema

* Bump version to 1.1.0-SNAPSHOT
This commit is contained in:
Philip Hyunsu Cho
2020-02-21 13:13:21 -08:00
committed by GitHub
parent 8aa8ef1031
commit 7ac7e8778f
16 changed files with 81 additions and 43 deletions

View File

@@ -3,6 +3,7 @@ ARG CMAKE_VERSION=3.12
# Environment
ENV DEBIAN_FRONTEND noninteractive
SHELL ["/bin/bash", "-c"] # Use Bash as shell
# Install all basic requirements
RUN \
@@ -19,10 +20,16 @@ ENV PATH=/opt/python/bin:$PATH
ENV GOSU_VERSION 1.10
# Install Python packages
# Create new Conda environment with Python 3.5
RUN conda create -n py35 python=3.5 && \
source activate py35 && \
pip install numpy pytest scipy scikit-learn pandas matplotlib wheel kubernetes urllib3 graphviz && \
source deactivate
# Install Python packages in default env
RUN \
pip install pyyaml cpplint pylint astroid sphinx numpy scipy pandas matplotlib sh \
recommonmark guzzle_sphinx_theme mock breathe matplotlib graphviz \
recommonmark guzzle_sphinx_theme mock breathe graphviz \
pytest scikit-learn wheel kubernetes urllib3 jsonschema boto3 && \
pip install https://h2o-release.s3.amazonaws.com/datatable/stable/datatable-0.7.0/datatable-0.7.0-cp37-cp37m-linux_x86_64.whl && \
pip install "dask[complete]"

View File

@@ -5,31 +5,35 @@ set -x
suite=$1
# Install XGBoost Python package
wheel_found=0
for file in python-package/dist/*.whl
do
if [ -e "${file}" ]
function install_xgboost {
wheel_found=0
for file in python-package/dist/*.whl
do
if [ -e "${file}" ]
then
pip install --user "${file}"
wheel_found=1
break # need just one
fi
done
if [ "$wheel_found" -eq 0 ]
then
pip install --user "${file}"
wheel_found=1
break # need just one
pushd .
cd python-package
python setup.py install --user
popd
fi
done
if [ "$wheel_found" -eq 0 ]
then
pushd .
cd python-package
python setup.py install --user
popd
fi
}
# Run specified test suite
case "$suite" in
gpu)
install_xgboost
pytest -v -s --fulltrace -m "not mgpu" tests/python-gpu
;;
mgpu)
install_xgboost
pytest -v -s --fulltrace -m "mgpu" tests/python-gpu
cd tests/distributed
./runtests-gpu.sh
@@ -39,17 +43,25 @@ case "$suite" in
cudf)
source activate cudf_test
install_xgboost
pytest -v -s --fulltrace -m "not mgpu" tests/python-gpu/test_from_columnar.py tests/python-gpu/test_from_cupy.py
;;
cpu)
install_xgboost
pytest -v -s --fulltrace tests/python
cd tests/distributed
./runtests.sh
;;
cpu-py35)
source activate py35
install_xgboost
pytest -v -s --fulltrace tests/python
;;
*)
echo "Usage: $0 {gpu|mgpu|cudf|cpu}"
echo "Usage: $0 {gpu|mgpu|cudf|cpu|cpu-py35}"
exit 1
;;
esac