| # Workflow derived from https://github.com/r-lib/actions/tree/master/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: macOS-latest, pandoc: '2.11.4', r: 'release'} |
| - {os: macOS-latest, pandoc: '2.14.2', r: 'release'} |
| |
| # TODO: issue on windows with pandoc 2.11.4 - change when fixed |
| - {os: windows-latest, pandoc: '2.7.3', r: 'release'} |
| # Use 3.6 to trigger usage of RTools35 |
| - {os: windows-latest, pandoc: '2.7.3', r: '3.6'} |
| |
| # Use older ubuntu to maximise backward compatibility |
| - {os: ubuntu-18.04, pandoc: '2.11.4', r: 'devel', http-user-agent: 'release'} |
| - {os: ubuntu-18.04, pandoc: 'devel', r: 'release'} |
| - {os: ubuntu-18.04, pandoc: '2.14.2', r: 'release'} |
| - {os: ubuntu-18.04, pandoc: '2.11.4', r: 'release'} |
| - {os: ubuntu-18.04, pandoc: '2.11.4', r: 'oldrel-1'} |
| |
| env: |
| GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} |
| R_KEEP_PKG_SOURCE: yes |
| |
| steps: |
| - uses: actions/checkout@v2 |
| |
| - uses: r-lib/actions/setup-pandoc@v1 |
| 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/setup-r@v1 |
| 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@v1 |
| with: |
| extra-packages: rcmdcheck |
| |
| - uses: r-lib/actions/check-r-package@master |
| |
| - name: Show testthat output |
| if: always() |
| run: find check -name 'testthat.Rout*' -exec cat '{}' \; || true |
| shell: bash |
| |
| - name: Upload check results |
| if: failure() |
| uses: actions/upload-artifact@main |
| with: |
| name: ${{ runner.os }}-r${{ matrix.config.r }}-results |
| path: check |
| |
| - name: Test coverage |
| if: success() && runner.os == 'Linux' && matrix.config.r == 'release' && matrix.config.pandoc == '2.11.4' |
| run: | |
| pak::pkg_install('covr') |
| covr::codecov() |
| shell: Rscript {0} |