Updating README to disable openmp #276
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: XGBoost-Python-Tests | |
on: [push, pull_request] | |
permissions: | |
contents: read # to fetch code (actions/checkout) | |
jobs: | |
python-mypy-lint: | |
runs-on: ubuntu-latest | |
name: Type and format checks for the Python package | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
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.python-version }} | |
activate-environment: python_lint | |
environment-file: tests/ci_build/conda_env/python_lint.yml | |
- name: Display Conda env | |
shell: bash -l {0} | |
run: | | |
conda info | |
conda list | |
- name: Run mypy | |
shell: bash -l {0} | |
run: | | |
python tests/ci_build/lint_python.py --format=0 --type-check=1 --pylint=0 | |
- name: Run formatter | |
shell: bash -l {0} | |
run: | | |
python tests/ci_build/lint_python.py --format=1 --type-check=0 --pylint=0 | |
- name: Run pylint | |
shell: bash -l {0} | |
run: | | |
python tests/ci_build/lint_python.py --format=0 --type-check=0 --pylint=1 | |
python-sdist-test-on-Linux: | |
# Mismatched glibcxx version between system and conda forge. | |
runs-on: ${{ matrix.os }} | |
name: Test installing XGBoost Python source package on ${{ matrix.os }} | |
strategy: | |
matrix: | |
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"] | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: 'true' | |
- name: Install osx system dependencies | |
if: matrix.os == 'macos-11' | |
run: | | |
brew install ninja libomp | |
- uses: conda-incubator/setup-miniconda@35d1405e78aa3f784fe3ce9a2eb378d5eeb62169 # v2.1.1 | |
with: | |
auto-update-conda: true | |
python-version: ${{ matrix.python-version }} | |
activate-environment: test | |
- 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-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: | |
name: Test XGBoost Python package on ${{ matrix.config.os }} | |
runs-on: ${{ matrix.config.os }} | |
strategy: | |
matrix: | |
config: | |
- {os: windows-latest, 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: win64_env | |
environment-file: tests/ci_build/conda_env/win64_cpu_test.yml | |
- name: Display Conda env | |
shell: bash -l {0} | |
run: | | |
conda info | |
conda list | |
- name: Build XGBoost on Windows | |
shell: bash -l {0} | |
run: | | |
mkdir build_msvc | |
cd build_msvc | |
cmake .. -G"Visual Studio 17 2022" -DCMAKE_CONFIGURATION_TYPES="Release" -A x64 -DGOOGLE_TEST=ON -DUSE_DMLC_GTEST=ON | |
cmake --build . --config Release --parallel $(nproc) | |
- name: Install Python package | |
shell: bash -l {0} | |
run: | | |
cd python-package | |
python --version | |
python setup.py bdist_wheel --universal | |
pip install ./dist/*.whl | |
- name: Test Python package | |
shell: bash -l {0} | |
run: | | |
pytest -s -v -rxXs --durations=0 ./tests/python |