Skip to content

enhancements to workflow actions #18

enhancements to workflow actions

enhancements to workflow actions #18

Workflow file for this run

on:
push:
branches:
- main
- master
pull_request:
branches:
- main
- master
schedule:
- cron: '1 23 * * Sun'
name: R-CMD-check
defaults:
run:
shell: Rscript {0}
jobs:
R-CMD-check:
name: ${{ matrix.config.os }} (${{ matrix.config.r }})
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
config:
- {os: 'ubuntu-latest', r: 'release'}
- {os: macOS-latest, r: 'release'}
- {os: windows-latest, r: 'release'}
- {os: windows-latest, r: 'oldrel'}
runs-on: ${{ matrix.config.os }}
env:
R_REMOTES_NO_ERRORS_FROM_WARNINGS: 'true'
R_COMPILE_AND_INSTALL_PACKAGES: 'never'
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
RETICULATE_AUTOCONFIGURE: 'FALSE'
steps:
- uses: actions/checkout@v4
- uses: r-lib/actions/setup-r@v2
id: setup-r
with:
r-version: ${{ matrix.config.r }}
use-public-rspm: true
- uses: r-lib/actions/setup-pandoc@v2
- name: Install system dependencies (Linux only)
if: runner.os == 'Linux'
uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: |
any::rcmdcheck
any::sessioninfo
any::remotes
any::reticulate
any::devtools
- name: Install Homebrew and qpdf (macOS only)
if: runner.os == 'macOS'
uses: Homebrew/actions/setup-homebrew@master
- name: Install qpdf (macOS only)
if: runner.os == 'macOS'
shell: bash
run: brew install qpdf
- name: Install system dependencies
if: runner.os == 'Linux'
shell: bash
run: |
. /etc/os-release
while read -r cmd
do
echo "$cmd"
sudo $cmd
done < <(Rscript -e "writeLines(remotes::system_requirements('$ID-$VERSION_ID'))")
- name: Install greta and dependencies
shell: Rscript {0}
run: |
install.packages("greta", repos = c("https://greta-dev.r-universe.dev", "https://cloud.r-project.org"))
library(greta)
install_greta_deps(timeout = 120)
- name: Verify Greta environment
shell: Rscript {0}
run: |
library(greta)
greta::greta_sitrep()
- uses: r-lib/actions/check-r-package@v2
with:
flags: "--quiet --skip-cleanup"
args: '--no-manual --as-cran'
error-on: "error"
- name: Session info
run: sessioninfo::session_info()