# Run expensive R tests with the help of rhub. Only triggered by a pull request review
# See discussion at https://github.com/dmlc/xgboost/pull/6378

name: XGBoost-R-noLD

on:
  pull_request_review_comment:
    types: [created]

permissions:
  contents: read # to fetch code (actions/checkout)

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: true

jobs:
  test-R-noLD:
    if: github.event.comment.body == '/gha run r-nold-test' && contains('OWNER,MEMBER,COLLABORATOR', github.event.comment.author_association)
    timeout-minutes: 120
    runs-on: ubuntu-latest
    container:
      image: rhub/debian-gcc-devel-nold
    steps:
    - name: Install git and system packages
      shell: bash
      run: |
        apt update && apt install libcurl4-openssl-dev libssl-dev libssh2-1-dev libgit2-dev libglpk-dev libxml2-dev libharfbuzz-dev libfribidi-dev git -y

    - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
      with:
        submodules: 'true'

    - name: Install dependencies
      shell: bash -l {0}
      run: |
        /tmp/R-devel/bin/Rscript -e "source('./R-package/tests/helper_scripts/install_deps.R')"

    - name: Run R tests
      shell: bash
      run: |
        cd R-package && \
        /tmp/R-devel/bin/R CMD INSTALL . && \
        /tmp/R-devel/bin/R -q -e "library(testthat); setwd('tests'); source('testthat.R')"
