[CI] Split up main.yml, add mypy. (#6515)
This commit is contained in:
parent
c5876277a8
commit
d8d684538c
151
.github/workflows/main.yml
vendored
151
.github/workflows/main.yml
vendored
@ -6,9 +6,6 @@ name: XGBoost-CI
|
|||||||
# events but only for the master branch
|
# events but only for the master branch
|
||||||
on: [push, pull_request]
|
on: [push, pull_request]
|
||||||
|
|
||||||
env:
|
|
||||||
R_PACKAGES: c('XML', 'igraph', 'data.table', 'magrittr', 'ggplot2', 'DiagrammeR', 'Ckmeans.1d.dp', 'vcd', 'testthat', 'lintr', 'knitr', 'rmarkdown', 'e1071', 'cplm', 'devtools', 'float', 'titanic')
|
|
||||||
|
|
||||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||||
jobs:
|
jobs:
|
||||||
gtest-cpu:
|
gtest-cpu:
|
||||||
@ -161,6 +158,24 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
make lint
|
make lint
|
||||||
|
|
||||||
|
mypy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Type checking for Python
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
submodules: 'true'
|
||||||
|
- uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: '3.7'
|
||||||
|
architecture: 'x64'
|
||||||
|
- name: Install Python packages
|
||||||
|
run: |
|
||||||
|
python -m pip install wheel setuptools mypy
|
||||||
|
- name: Run mypy
|
||||||
|
run: |
|
||||||
|
cd python-package && mypy . || true
|
||||||
|
|
||||||
doxygen:
|
doxygen:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: Generate C/C++ API doc using Doxygen
|
name: Generate C/C++ API doc using Doxygen
|
||||||
@ -224,133 +239,3 @@ jobs:
|
|||||||
make -C doc html
|
make -C doc html
|
||||||
env:
|
env:
|
||||||
SPHINX_GIT_BRANCH: ${{ steps.extract_branch.outputs.branch }}
|
SPHINX_GIT_BRANCH: ${{ steps.extract_branch.outputs.branch }}
|
||||||
|
|
||||||
lintr:
|
|
||||||
runs-on: ${{ matrix.config.os }}
|
|
||||||
name: Run R linters on OS ${{ matrix.config.os }}, R ${{ matrix.config.r }}, Compiler ${{ matrix.config.compiler }}, Build ${{ matrix.config.build }}
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
config:
|
|
||||||
- {os: windows-latest, r: 'release', compiler: 'mingw', build: 'autotools'}
|
|
||||||
env:
|
|
||||||
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
|
|
||||||
RSPM: ${{ matrix.config.rspm }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
submodules: 'true'
|
|
||||||
|
|
||||||
- uses: r-lib/actions/setup-r@master
|
|
||||||
with:
|
|
||||||
r-version: ${{ matrix.config.r }}
|
|
||||||
|
|
||||||
- name: Cache R packages
|
|
||||||
uses: actions/cache@v2
|
|
||||||
with:
|
|
||||||
path: ${{ env.R_LIBS_USER }}
|
|
||||||
key: ${{ runner.os }}-r-${{ matrix.config.r }}-1-${{ hashFiles('R-package/DESCRIPTION') }}
|
|
||||||
restore-keys: ${{ runner.os }}-r-${{ matrix.config.r }}-2-
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
shell: Rscript {0}
|
|
||||||
run: |
|
|
||||||
install.packages(${{ env.R_PACKAGES }},
|
|
||||||
repos = 'http://cloud.r-project.org',
|
|
||||||
dependencies = c('Depends', 'Imports', 'LinkingTo'))
|
|
||||||
|
|
||||||
- name: Run lintr
|
|
||||||
run: |
|
|
||||||
cd R-package
|
|
||||||
R.exe CMD INSTALL .
|
|
||||||
Rscript.exe tests/helper_scripts/run_lint.R
|
|
||||||
|
|
||||||
test-with-R:
|
|
||||||
runs-on: ${{ matrix.config.os }}
|
|
||||||
name: Test R on OS ${{ matrix.config.os }}, R ${{ matrix.config.r }}, Compiler ${{ matrix.config.compiler }}, Build ${{ matrix.config.build }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
config:
|
|
||||||
- {os: windows-2016, r: 'release', compiler: 'mingw', build: 'autotools'}
|
|
||||||
- {os: windows-2016, r: 'release', compiler: 'msvc', build: 'cmake'}
|
|
||||||
- {os: windows-2016, r: 'release', compiler: 'mingw', build: 'cmake'}
|
|
||||||
env:
|
|
||||||
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
|
|
||||||
RSPM: ${{ matrix.config.rspm }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
submodules: 'true'
|
|
||||||
|
|
||||||
- uses: r-lib/actions/setup-r@master
|
|
||||||
with:
|
|
||||||
r-version: ${{ matrix.config.r }}
|
|
||||||
|
|
||||||
- name: Cache R packages
|
|
||||||
uses: actions/cache@v2
|
|
||||||
with:
|
|
||||||
path: ${{ env.R_LIBS_USER }}
|
|
||||||
key: ${{ runner.os }}-r-${{ matrix.config.r }}-1-${{ hashFiles('R-package/DESCRIPTION') }}
|
|
||||||
restore-keys: ${{ runner.os }}-r-${{ matrix.config.r }}-2-
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
shell: Rscript {0}
|
|
||||||
run: |
|
|
||||||
install.packages(${{ env.R_PACKAGES }},
|
|
||||||
repos = 'http://cloud.r-project.org',
|
|
||||||
dependencies = c('Depends', 'Imports', 'LinkingTo'))
|
|
||||||
|
|
||||||
- uses: actions/setup-python@v2
|
|
||||||
with:
|
|
||||||
python-version: '3.7'
|
|
||||||
architecture: 'x64'
|
|
||||||
|
|
||||||
- name: Test R
|
|
||||||
run: |
|
|
||||||
python tests/ci_build/test_r_package.py --compiler="${{ matrix.config.compiler }}" --build-tool="${{ matrix.config.build }}"
|
|
||||||
|
|
||||||
test-R-CRAN:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
config:
|
|
||||||
- {r: 'release'}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
submodules: 'true'
|
|
||||||
|
|
||||||
- uses: r-lib/actions/setup-r@master
|
|
||||||
with:
|
|
||||||
r-version: ${{ matrix.config.r }}
|
|
||||||
|
|
||||||
- uses: r-lib/actions/setup-tinytex@master
|
|
||||||
|
|
||||||
- name: Cache R packages
|
|
||||||
uses: actions/cache@v2
|
|
||||||
with:
|
|
||||||
path: ${{ env.R_LIBS_USER }}
|
|
||||||
key: ${{ runner.os }}-r-${{ matrix.config.r }}-1-${{ hashFiles('R-package/DESCRIPTION') }}
|
|
||||||
restore-keys: ${{ runner.os }}-r-${{ matrix.config.r }}-2-
|
|
||||||
|
|
||||||
- name: Install system packages
|
|
||||||
run: |
|
|
||||||
sudo apt-get update && sudo apt-get install libcurl4-openssl-dev libssl-dev libssh2-1-dev libgit2-dev
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
shell: Rscript {0}
|
|
||||||
run: |
|
|
||||||
install.packages(${{ env.R_PACKAGES }},
|
|
||||||
repos = 'http://cloud.r-project.org',
|
|
||||||
dependencies = c('Depends', 'Imports', 'LinkingTo'))
|
|
||||||
|
|
||||||
- name: Check R Package
|
|
||||||
run: |
|
|
||||||
# Print stacktrace upon success of failure
|
|
||||||
make Rcheck || tests/ci_build/print_r_stacktrace.sh fail
|
|
||||||
tests/ci_build/print_r_stacktrace.sh success
|
|
||||||
|
|||||||
137
.github/workflows/r_tests.yml
vendored
Normal file
137
.github/workflows/r_tests.yml
vendored
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
name: XGBoost-R-Tests
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
env:
|
||||||
|
R_PACKAGES: c('XML', 'igraph', 'data.table', 'magrittr', 'ggplot2', 'DiagrammeR', 'Ckmeans.1d.dp', 'vcd', 'testthat', 'lintr', 'knitr', 'rmarkdown', 'e1071', 'cplm', 'devtools', 'float', 'titanic')
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lintr:
|
||||||
|
runs-on: ${{ matrix.config.os }}
|
||||||
|
name: Run R linters on OS ${{ matrix.config.os }}, R ${{ matrix.config.r }}, Compiler ${{ matrix.config.compiler }}, Build ${{ matrix.config.build }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
config:
|
||||||
|
- {os: windows-latest, r: 'release', compiler: 'mingw', build: 'autotools'}
|
||||||
|
env:
|
||||||
|
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
|
||||||
|
RSPM: ${{ matrix.config.rspm }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
submodules: 'true'
|
||||||
|
|
||||||
|
- uses: r-lib/actions/setup-r@master
|
||||||
|
with:
|
||||||
|
r-version: ${{ matrix.config.r }}
|
||||||
|
|
||||||
|
- name: Cache R packages
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ${{ env.R_LIBS_USER }}
|
||||||
|
key: ${{ runner.os }}-r-${{ matrix.config.r }}-1-${{ hashFiles('R-package/DESCRIPTION') }}
|
||||||
|
restore-keys: ${{ runner.os }}-r-${{ matrix.config.r }}-2-
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
shell: Rscript {0}
|
||||||
|
run: |
|
||||||
|
install.packages(${{ env.R_PACKAGES }},
|
||||||
|
repos = 'http://cloud.r-project.org',
|
||||||
|
dependencies = c('Depends', 'Imports', 'LinkingTo'))
|
||||||
|
|
||||||
|
- name: Run lintr
|
||||||
|
run: |
|
||||||
|
cd R-package
|
||||||
|
R.exe CMD INSTALL .
|
||||||
|
Rscript.exe tests/helper_scripts/run_lint.R
|
||||||
|
|
||||||
|
test-with-R:
|
||||||
|
runs-on: ${{ matrix.config.os }}
|
||||||
|
name: Test R on OS ${{ matrix.config.os }}, R ${{ matrix.config.r }}, Compiler ${{ matrix.config.compiler }}, Build ${{ matrix.config.build }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
config:
|
||||||
|
- {os: windows-2016, r: 'release', compiler: 'mingw', build: 'autotools'}
|
||||||
|
- {os: windows-2016, r: 'release', compiler: 'msvc', build: 'cmake'}
|
||||||
|
- {os: windows-2016, r: 'release', compiler: 'mingw', build: 'cmake'}
|
||||||
|
env:
|
||||||
|
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
|
||||||
|
RSPM: ${{ matrix.config.rspm }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
submodules: 'true'
|
||||||
|
|
||||||
|
- uses: r-lib/actions/setup-r@master
|
||||||
|
with:
|
||||||
|
r-version: ${{ matrix.config.r }}
|
||||||
|
|
||||||
|
- name: Cache R packages
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ${{ env.R_LIBS_USER }}
|
||||||
|
key: ${{ runner.os }}-r-${{ matrix.config.r }}-1-${{ hashFiles('R-package/DESCRIPTION') }}
|
||||||
|
restore-keys: ${{ runner.os }}-r-${{ matrix.config.r }}-2-
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
shell: Rscript {0}
|
||||||
|
run: |
|
||||||
|
install.packages(${{ env.R_PACKAGES }},
|
||||||
|
repos = 'http://cloud.r-project.org',
|
||||||
|
dependencies = c('Depends', 'Imports', 'LinkingTo'))
|
||||||
|
|
||||||
|
- uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: '3.7'
|
||||||
|
architecture: 'x64'
|
||||||
|
|
||||||
|
- name: Test R
|
||||||
|
run: |
|
||||||
|
python tests/ci_build/test_r_package.py --compiler='${{ matrix.config.compiler }}' --build-tool='${{ matrix.config.build }}'
|
||||||
|
|
||||||
|
test-R-CRAN:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
config:
|
||||||
|
- {r: 'release'}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
submodules: 'true'
|
||||||
|
|
||||||
|
- uses: r-lib/actions/setup-r@master
|
||||||
|
with:
|
||||||
|
r-version: ${{ matrix.config.r }}
|
||||||
|
|
||||||
|
- uses: r-lib/actions/setup-tinytex@master
|
||||||
|
|
||||||
|
- name: Cache R packages
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ${{ env.R_LIBS_USER }}
|
||||||
|
key: ${{ runner.os }}-r-${{ matrix.config.r }}-1-${{ hashFiles('R-package/DESCRIPTION') }}
|
||||||
|
restore-keys: ${{ runner.os }}-r-${{ matrix.config.r }}-2-
|
||||||
|
|
||||||
|
- name: Install system packages
|
||||||
|
run: |
|
||||||
|
sudo apt-get update && sudo apt-get install libcurl4-openssl-dev libssl-dev libssh2-1-dev libgit2-dev
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
shell: Rscript {0}
|
||||||
|
run: |
|
||||||
|
install.packages(${{ env.R_PACKAGES }},
|
||||||
|
repos = 'http://cloud.r-project.org',
|
||||||
|
dependencies = c('Depends', 'Imports', 'LinkingTo'))
|
||||||
|
|
||||||
|
- name: Check R Package
|
||||||
|
run: |
|
||||||
|
# Print stacktrace upon success of failure
|
||||||
|
make Rcheck || tests/ci_build/print_r_stacktrace.sh fail
|
||||||
|
tests/ci_build/print_r_stacktrace.sh success
|
||||||
@ -1,2 +1,6 @@
|
|||||||
[metadata]
|
[metadata]
|
||||||
description-file = README.rst
|
description-file = README.rst
|
||||||
|
|
||||||
|
[mypy]
|
||||||
|
ignore_missing_imports = True
|
||||||
|
disallow_untyped_defs = True
|
||||||
Loading…
x
Reference in New Issue
Block a user