Split up the Linux test to use the toolchain from conda forge.
This commit is contained in:
parent
850b53100f
commit
58bc225657
14
.github/workflows/main.yml
vendored
14
.github/workflows/main.yml
vendored
@ -75,19 +75,18 @@ jobs:
|
|||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
submodules: 'true'
|
submodules: 'true'
|
||||||
- name: Install system packages
|
- uses: mamba-org/provision-with-micromamba@f347426e5745fe3dfc13ec5baf20496990d0281f # v14
|
||||||
run: |
|
|
||||||
sudo apt-get install -y --no-install-recommends ninja-build
|
|
||||||
- uses: conda-incubator/setup-miniconda@v2
|
|
||||||
with:
|
with:
|
||||||
auto-update-conda: true
|
cache-downloads: true
|
||||||
python-version: ${{ matrix.python-version }}
|
cache-env: true
|
||||||
activate-environment: test
|
environment-name: cpp_test
|
||||||
|
environment-file: tests/ci_build/conda_env/cpp_test.yml
|
||||||
- name: Display Conda env
|
- name: Display Conda env
|
||||||
shell: bash -l {0}
|
shell: bash -l {0}
|
||||||
run: |
|
run: |
|
||||||
conda info
|
conda info
|
||||||
conda list
|
conda list
|
||||||
|
|
||||||
- name: Build and install XGBoost static library
|
- name: Build and install XGBoost static library
|
||||||
shell: bash -l {0}
|
shell: bash -l {0}
|
||||||
run: |
|
run: |
|
||||||
@ -109,6 +108,7 @@ jobs:
|
|||||||
cd ..
|
cd ..
|
||||||
rm -rf ./build
|
rm -rf ./build
|
||||||
popd
|
popd
|
||||||
|
|
||||||
- name: Build and install XGBoost shared library
|
- name: Build and install XGBoost shared library
|
||||||
shell: bash -l {0}
|
shell: bash -l {0}
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
150
.github/workflows/python_tests.yml
vendored
150
.github/workflows/python_tests.yml
vendored
@ -41,12 +41,46 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
python tests/ci_build/lint_python.py --format=0 --type-check=0 --pylint=1
|
python tests/ci_build/lint_python.py --format=0 --type-check=0 --pylint=1
|
||||||
|
|
||||||
python-sdist-test:
|
python-sdist-test-on-Linux:
|
||||||
|
# Mismatched glibcxx version between system and conda forge.
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
name: Test installing XGBoost Python source package on ${{ matrix.os }}
|
name: Test installing XGBoost Python source package on ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, macos-11, windows-latest]
|
os: [ubuntu-latest]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@e2f20e631ae6d7dd3b768f56a5d2af784dd54791 # v2.5.0
|
||||||
|
with:
|
||||||
|
submodules: 'true'
|
||||||
|
- uses: mamba-org/provision-with-micromamba@f347426e5745fe3dfc13ec5baf20496990d0281f # v14
|
||||||
|
with:
|
||||||
|
cache-downloads: true
|
||||||
|
cache-env: false
|
||||||
|
environment-name: sdist_test
|
||||||
|
environment-file: tests/ci_build/conda_env/sdist_test.yml
|
||||||
|
- name: Display Conda env
|
||||||
|
shell: bash -l {0}
|
||||||
|
run: |
|
||||||
|
conda info
|
||||||
|
conda list
|
||||||
|
- name: Build and install XGBoost
|
||||||
|
shell: bash -l {0}
|
||||||
|
run: |
|
||||||
|
cd python-package
|
||||||
|
python --version
|
||||||
|
python setup.py sdist
|
||||||
|
pip install -v ./dist/xgboost-*.tar.gz
|
||||||
|
cd ..
|
||||||
|
python -c 'import xgboost'
|
||||||
|
|
||||||
|
python-sdist-test:
|
||||||
|
# Use system toolchain instead of conda toolchain for macos and windows.
|
||||||
|
# MacOS has linker error if clang++ from conda-forge is used
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
name: Test installing XGBoost Python source package on ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [macos-11, windows-latest]
|
||||||
python-version: ["3.8"]
|
python-version: ["3.8"]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
@ -56,11 +90,7 @@ jobs:
|
|||||||
if: matrix.os == 'macos-11'
|
if: matrix.os == 'macos-11'
|
||||||
run: |
|
run: |
|
||||||
brew install ninja libomp
|
brew install ninja libomp
|
||||||
- name: Install Ubuntu system dependencies
|
- uses: conda-incubator/setup-miniconda@35d1405e78aa3f784fe3ce9a2eb378d5eeb62169 # v2.1.1
|
||||||
if: matrix.os == 'ubuntu-latest'
|
|
||||||
run: |
|
|
||||||
sudo apt-get install -y --no-install-recommends ninja-build
|
|
||||||
- uses: conda-incubator/setup-miniconda@v2
|
|
||||||
with:
|
with:
|
||||||
auto-update-conda: true
|
auto-update-conda: true
|
||||||
python-version: ${{ matrix.python-version }}
|
python-version: ${{ matrix.python-version }}
|
||||||
@ -80,6 +110,58 @@ jobs:
|
|||||||
cd ..
|
cd ..
|
||||||
python -c 'import xgboost'
|
python -c 'import xgboost'
|
||||||
|
|
||||||
|
python-tests-on-macos:
|
||||||
|
name: Test XGBoost Python package on ${{ matrix.config.os }}
|
||||||
|
runs-on: ${{ matrix.config.os }}
|
||||||
|
timeout-minutes: 60
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
config:
|
||||||
|
- {os: macos-11}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@e2f20e631ae6d7dd3b768f56a5d2af784dd54791 # v2.5.0
|
||||||
|
with:
|
||||||
|
submodules: 'true'
|
||||||
|
|
||||||
|
- uses: mamba-org/provision-with-micromamba@f347426e5745fe3dfc13ec5baf20496990d0281f # v14
|
||||||
|
with:
|
||||||
|
cache-downloads: true
|
||||||
|
cache-env: false
|
||||||
|
environment-name: macos_test
|
||||||
|
environment-file: tests/ci_build/conda_env/macos_cpu_test.yml
|
||||||
|
|
||||||
|
- name: Display Conda env
|
||||||
|
shell: bash -l {0}
|
||||||
|
run: |
|
||||||
|
conda info
|
||||||
|
conda list
|
||||||
|
|
||||||
|
- name: Build XGBoost on macos
|
||||||
|
shell: bash -l {0}
|
||||||
|
run: |
|
||||||
|
brew install ninja
|
||||||
|
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
# Set prefix, to use OpenMP library from Conda env
|
||||||
|
# See https://github.com/dmlc/xgboost/issues/7039#issuecomment-1025038228
|
||||||
|
# to learn why we don't use libomp from Homebrew.
|
||||||
|
cmake .. -GNinja -DCMAKE_PREFIX_PATH=$CONDA_PREFIX
|
||||||
|
ninja
|
||||||
|
|
||||||
|
- name: Install Python package
|
||||||
|
shell: bash -l {0}
|
||||||
|
run: |
|
||||||
|
cd python-package
|
||||||
|
python --version
|
||||||
|
python setup.py install
|
||||||
|
|
||||||
|
- name: Test Python package
|
||||||
|
shell: bash -l {0}
|
||||||
|
run: |
|
||||||
|
pytest -s -v -rxXs --durations=0 ./tests/python
|
||||||
|
|
||||||
python-tests-on-win:
|
python-tests-on-win:
|
||||||
name: Test XGBoost Python package on ${{ matrix.config.os }}
|
name: Test XGBoost Python package on ${{ matrix.config.os }}
|
||||||
runs-on: ${{ matrix.config.os }}
|
runs-on: ${{ matrix.config.os }}
|
||||||
@ -125,56 +207,4 @@ jobs:
|
|||||||
- name: Test Python package
|
- name: Test Python package
|
||||||
shell: bash -l {0}
|
shell: bash -l {0}
|
||||||
run: |
|
run: |
|
||||||
pytest -s -v ./tests/python
|
pytest -s -v -rxXs --durations=0 ./tests/python
|
||||||
|
|
||||||
python-tests-on-macos:
|
|
||||||
name: Test XGBoost Python package on ${{ matrix.config.os }}
|
|
||||||
runs-on: ${{ matrix.config.os }}
|
|
||||||
timeout-minutes: 90
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
config:
|
|
||||||
- {os: macos-11, python-version "3.8" }
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
submodules: 'true'
|
|
||||||
|
|
||||||
- uses: conda-incubator/setup-miniconda@v2
|
|
||||||
with:
|
|
||||||
auto-update-conda: true
|
|
||||||
python-version: ${{ matrix.config.python-version }}
|
|
||||||
activate-environment: macos_test
|
|
||||||
environment-file: tests/ci_build/conda_env/macos_cpu_test.yml
|
|
||||||
|
|
||||||
- name: Display Conda env
|
|
||||||
shell: bash -l {0}
|
|
||||||
run: |
|
|
||||||
conda info
|
|
||||||
conda list
|
|
||||||
|
|
||||||
- name: Build XGBoost on macos
|
|
||||||
shell: bash -l {0}
|
|
||||||
run: |
|
|
||||||
brew install ninja
|
|
||||||
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
# Set prefix, to use OpenMP library from Conda env
|
|
||||||
# See https://github.com/dmlc/xgboost/issues/7039#issuecomment-1025038228
|
|
||||||
# to learn why we don't use libomp from Homebrew.
|
|
||||||
cmake .. -GNinja -DGOOGLE_TEST=ON -DUSE_DMLC_GTEST=ON -DCMAKE_PREFIX_PATH=$CONDA_PREFIX
|
|
||||||
ninja
|
|
||||||
|
|
||||||
- name: Install Python package
|
|
||||||
shell: bash -l {0}
|
|
||||||
run: |
|
|
||||||
cd python-package
|
|
||||||
python --version
|
|
||||||
python setup.py install
|
|
||||||
|
|
||||||
- name: Test Python package
|
|
||||||
shell: bash -l {0}
|
|
||||||
run: |
|
|
||||||
pytest -s -v ./tests/python
|
|
||||||
|
|||||||
11
tests/ci_build/conda_env/cpp_test.yml
Normal file
11
tests/ci_build/conda_env/cpp_test.yml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# conda environment for CPP test on Linux distributions
|
||||||
|
name: cpp_test
|
||||||
|
channels:
|
||||||
|
- defaults
|
||||||
|
- conda-forge
|
||||||
|
dependencies:
|
||||||
|
- cmake
|
||||||
|
- ninja
|
||||||
|
- c-compiler
|
||||||
|
- cxx-compiler
|
||||||
|
- gtest
|
||||||
13
tests/ci_build/conda_env/sdist_test.yml
Normal file
13
tests/ci_build/conda_env/sdist_test.yml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# conda environment for source distribution test.
|
||||||
|
name: sdist_test
|
||||||
|
channels:
|
||||||
|
- defaults
|
||||||
|
- conda-forge
|
||||||
|
dependencies:
|
||||||
|
- python=3.8
|
||||||
|
- pip
|
||||||
|
- wheel
|
||||||
|
- cmake
|
||||||
|
- ninja
|
||||||
|
- c-compiler
|
||||||
|
- cxx-compiler
|
||||||
Loading…
x
Reference in New Issue
Block a user