150 lines
5.0 KiB
YAML
150 lines
5.0 KiB
YAML
name: XGBoost-R-Tests
|
|
|
|
on: [push, pull_request]
|
|
|
|
env:
|
|
R_PACKAGES: c('XML', 'data.table', 'ggplot2', 'DiagrammeR', 'Ckmeans.1d.dp', 'vcd', 'testthat', 'lintr', 'knitr', 'rmarkdown', 'e1071', 'cplm', 'devtools', 'float', 'titanic')
|
|
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
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 }}-2-${{ hashFiles('R-package/DESCRIPTION') }}
|
|
restore-keys: ${{ runner.os }}-r-${{ matrix.config.r }}-2-${{ hashFiles('R-package/DESCRIPTION') }}
|
|
|
|
- name: Install dependencies
|
|
shell: Rscript {0}
|
|
run: |
|
|
install.packages(${{ env.R_PACKAGES }},
|
|
repos = 'http://cloud.r-project.org',
|
|
dependencies = c('Depends', 'Imports', 'LinkingTo'))
|
|
- name: Install igraph on Windows
|
|
shell: Rscript {0}
|
|
if: matrix.config.os == 'windows-latest'
|
|
run: |
|
|
install.packages('igraph', type='binary')
|
|
|
|
- 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 }}-2-${{ hashFiles('R-package/DESCRIPTION') }}
|
|
restore-keys: ${{ runner.os }}-r-${{ matrix.config.r }}-2-${{ hashFiles('R-package/DESCRIPTION') }}
|
|
|
|
- name: Install dependencies
|
|
shell: Rscript {0}
|
|
run: |
|
|
install.packages(${{ env.R_PACKAGES }},
|
|
repos = 'http://cloud.r-project.org',
|
|
dependencies = c('Depends', 'Imports', 'LinkingTo'))
|
|
- name: Install igraph on Windows
|
|
shell: Rscript {0}
|
|
if: matrix.config.os == 'windows-2016'
|
|
run: |
|
|
install.packages('igraph', type='binary', 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: Install system packages
|
|
run: |
|
|
sudo apt-get update && sudo apt-get install libcurl4-openssl-dev libssl-dev libssh2-1-dev libgit2-dev pandoc pandoc-citeproc libglpk-dev
|
|
|
|
- name: Cache R packages
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ${{ env.R_LIBS_USER }}
|
|
key: ${{ runner.os }}-r-${{ matrix.config.r }}-2-${{ hashFiles('R-package/DESCRIPTION') }}
|
|
restore-keys: ${{ runner.os }}-r-${{ matrix.config.r }}-2-${{ hashFiles('R-package/DESCRIPTION') }}
|
|
|
|
- name: Install dependencies
|
|
shell: Rscript {0}
|
|
run: |
|
|
install.packages(${{ env.R_PACKAGES }},
|
|
repos = 'http://cloud.r-project.org',
|
|
dependencies = c('Depends', 'Imports', 'LinkingTo'))
|
|
install.packages('igraph', 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
|