name: XGBoost-R-Tests on: [push, pull_request] env: R_PACKAGES: c('XML', 'igraph', 'data.table', '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: 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: 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: 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 - 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