# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
#
# NOTE: This workflow is overkill for most R packages and
# check-standard.yaml is likely a better choice.
# usethis::use_github_action("check-standard") will install it.
on:
  push:
    branches: [main, master]
    paths-ignore:
      - 'pkgdown/**'
      - '.github/workflows/pkgdown.yaml'
  pull_request:
    branches: [main, master]
    paths-ignore:
      - 'pkgdown/**'
      - '.github/workflows/pkgdown.yaml'


name: R-CMD-check

jobs:
  R-CMD-check:
    runs-on: ${{ matrix.config.os }}

    name: ${{ matrix.config.os }} (${{ matrix.config.r }}) [Pandoc ${{ matrix.config.pandoc }}]

    strategy:
      fail-fast: false
      matrix:
        config:
          # testing R release with last shipped pandoc version in RStudio IDE and new pandoc
          - {os: windows-latest, pandoc: '3.1.1',    r: 'release'}
          - {os: macOS-latest,   pandoc: '3.1.1',    r: 'release'}
          - {os: ubuntu-latest,  pandoc: 'devel',    r: 'release'}
          # testing older pandoc versions
          - {os: ubuntu-latest,  pandoc: '2.19.2',   r: 'release'}
          - {os: ubuntu-latest,  pandoc: '2.18',     r: 'release'}
          - {os: ubuntu-latest,  pandoc: '2.17.1.1', r: 'release'}
          - {os: ubuntu-latest,  pandoc: '2.16.2',   r: 'release'}
          - {os: ubuntu-latest,  pandoc: '2.14.2',   r: 'release'}
          - {os: ubuntu-latest,  pandoc: '2.11.4',   r: 'release'}
          - {os: ubuntu-latest,  pandoc: '2.7.3',    r: 'release'}
          - {os: ubuntu-latest,  pandoc: '2.5',      r: 'release'}
          # testing other R versions
          - {os: ubuntu-latest,  pandoc: '2.11.4',   r: 'devel', http-user-agent: 'release'}
          - {os: ubuntu-latest,  pandoc: '2.11.4',   r: 'oldrel-1'}
          - {os: ubuntu-latest,  pandoc: '2.11.4',   r: 'oldrel-2'}
          - {os: ubuntu-latest,  pandoc: '2.11.4',   r: 'oldrel-3'}
    env:
      GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
      R_KEEP_PKG_SOURCE: yes

    steps:
      - uses: actions/checkout@v3

      - uses: r-lib/actions/setup-pandoc@v2

      - uses: r-lib/actions/setup-r@v2
        with:
          r-version: ${{ matrix.config.r }}
          http-user-agent: ${{ matrix.config.http-user-agent }}
          use-public-rspm: true

      - uses: r-lib/actions/setup-r-dependencies@v2
        with:
          extra-packages: any::rcmdcheck
          needs: check

      - name: Remove default installed Pandoc
        if: runner.os == 'Linux'
        run: sudo dpkg -r pandoc

      - uses: r-lib/actions/setup-pandoc@v2
        if: matrix.config.pandoc != 'devel'
        with:
          pandoc-version: ${{ matrix.config.pandoc }}

      - uses: cderv/actions/setup-pandoc-nightly@nightly-pandoc
        if: matrix.config.pandoc == 'devel'

      - uses: r-lib/actions/check-r-package@v2
        with:
          upload-snapshots: true
