[doc] Reference the R doc in sphinx document site. #12589
Workflow file for this run
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-R-Tests | |
on: [push, pull_request] | |
env: | |
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | |
BRANCH_NAME: >- | |
${{ github.event.pull_request.number && 'PR-' }}${{ github.event.pull_request.number || github.ref_name }} | |
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-Rpkg: | |
runs-on: ${{ matrix.os }} | |
name: Test R on OS ${{ matrix.os }}, R ${{ matrix.r }}, Compiler ${{ matrix.compiler }}, Build ${{ matrix.build }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- os: windows-latest | |
r: release | |
compiler: mingw | |
build: autotools | |
- os: ubuntu-latest | |
r: release | |
compiler: none | |
build: cmake | |
env: | |
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true | |
steps: | |
- name: Install system dependencies | |
run: | | |
sudo apt update | |
sudo apt install libcurl4-openssl-dev libssl-dev libssh2-1-dev libgit2-dev libglpk-dev libxml2-dev libharfbuzz-dev libfribidi-dev librsvg2-dev librsvg2-2 | |
if: matrix.os == 'ubuntu-latest' | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- uses: r-lib/actions/setup-r@v2 | |
with: | |
r-version: ${{ matrix.r }} | |
- name: Cache R packages | |
uses: actions/cache@v4 | |
with: | |
path: ${{ env.R_LIBS_USER }} | |
key: ${{ runner.os }}-r-${{ matrix.r }}-8-${{ hashFiles('R-package/DESCRIPTION') }} | |
restore-keys: ${{ runner.os }}-r-${{ matrix.r }}-8-${{ hashFiles('R-package/DESCRIPTION') }} | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
architecture: 'x64' | |
- uses: r-lib/actions/setup-tinytex@v2 | |
- name: Install dependencies | |
shell: Rscript {0} | |
run: | | |
source("./R-package/tests/helper_scripts/install_deps.R") | |
- name: Test R | |
run: | | |
python ops/script/test_r_package.py --compiler='${{ matrix.compiler }}' --build-tool="${{ matrix.build }}" --task=check | |
if: matrix.compiler != 'none' | |
- name: Test R | |
run: | | |
python ops/script/test_r_package.py --build-tool="${{ matrix.build }}" --task=check | |
if: matrix.compiler == 'none' | |
test-R-on-Debian: | |
name: Test R package on Debian | |
runs-on: ubuntu-latest | |
container: | |
image: rhub/debian-gcc-release | |
steps: | |
- name: Install system dependencies | |
run: | | |
# Must run before checkout to have the latest git installed. | |
# No need to add pandoc, the container has it figured out. | |
apt update && apt install libcurl4-openssl-dev libssl-dev libssh2-1-dev libgit2-dev libglpk-dev libxml2-dev libharfbuzz-dev libfribidi-dev git librsvg2-dev librsvg2-2 -y | |
- name: Trust git cloning project sources | |
run: | | |
git config --global --add safe.directory "${GITHUB_WORKSPACE}" | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Install dependencies | |
shell: bash -l {0} | |
run: | | |
Rscript -e "source('./R-package/tests/helper_scripts/install_deps.R')" | |
- name: Test R | |
shell: bash -l {0} | |
run: | | |
python3 ops/script/test_r_package.py --r=/usr/bin/R --build-tool=autotools --task=check | |
- uses: dorny/paths-filter@v3 | |
id: changes | |
with: | |
filters: | | |
r_package: | |
- 'R-package/**' | |
- name: Run document check | |
if: steps.changes.outputs.r_package == 'true' | |
run: | | |
python3 ops/script/test_r_package.py --r=/usr/bin/R --task=doc | |
build-r-docs: | |
name: Build docs for the R package | |
runs-on: | |
- runs-on=${{ github.run_id }} | |
- runner=linux-amd64-cpu | |
- tag=r-tests-build-docs | |
steps: | |
# Restart Docker daemon so that it recognizes the ephemeral disks | |
- run: sudo systemctl restart docker | |
- uses: actions/checkout@v4 | |
with: | |
submodules: "true" | |
- name: Log into Docker registry (AWS ECR) | |
run: bash ops/pipeline/login-docker-registry.sh | |
- run: bash ops/pipeline/build-r-docs.sh | |
- name: Upload R doc | |
run: | | |
python3 ops/pipeline/manage-artifacts.py upload \ | |
--s3-bucket xgboost-docs \ | |
--prefix ${BRANCH_NAME}/${GITHUB_SHA} --make-public \ | |
r-docs-${{ env.BRANCH_NAME }}.tar.bz2 |