add caching and dependencies to workflows #64
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: R-CMD-check | |
on: | |
push: | |
branches: [main, master] # Triggers on push to main or master | |
pull_request: | |
branches: [main, master] # Triggers on pull requests to main or master | |
workflow_dispatch: # Allows manual triggering | |
jobs: | |
R-CMD-check: | |
runs-on: ${{ matrix.config.os }} | |
name: ${{ matrix.config.os }} (${{ matrix.config.r }}) | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- {os: macOS-latest, r: 'release'} | |
- {os: windows-latest, r: 'release'} | |
- {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'} | |
- {os: ubuntu-latest, r: 'release'} | |
- {os: ubuntu-latest, r: 'oldrel-1'} | |
env: | |
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | |
R_KEEP_PKG_SOURCE: yes | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 # Updated to the latest version | |
- name: Set up Pandoc | |
uses: r-lib/actions/setup-pandoc@v2 # Updated to the latest version | |
- name: Set up R | |
uses: r-lib/actions/setup-r@v2 # Updated to the latest version | |
with: | |
r-version: ${{ matrix.config.r }} | |
http-user-agent: ${{ matrix.config.http-user-agent }} | |
use-public-rspm: true | |
- name: Install system dependencies | |
if: runner.os == 'Linux' # Only necessary for Linux runners | |
run: sudo apt-get install -y libharfbuzz-dev libfribidi-dev libfreetype6-dev | |
- name: Cache R packages | |
uses: actions/cache@v3 | |
with: | |
path: ${{ env.R_LIBS_USER }} | |
key: ${{ runner.os }}-r-${{ matrix.config.r }}-${{ hashFiles('**/DESCRIPTION') }} | |
restore-keys: | | |
${{ runner.os }}-r-${{ matrix.config.r }}- | |
${{ runner.os }}-r- | |
- name: Install R package dependencies | |
run: R -e "install.packages('devtools'); devtools::install_deps(dependencies = TRUE)" | |
- name: Run R CMD check | |
uses: r-lib/actions/check-r-package@v2 # Updated to the latest version |