Permalink
Cannot retrieve contributors at this time
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
128 lines (108 sloc)
4.58 KB
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
| on: | |
| push: | |
| branches: | |
| - main | |
| - master | |
| pull_request: | |
| branches: | |
| - main | |
| - master | |
| name: R-CMD-check-pak | |
| 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-18.04, r: 'devel', rspm: "https://packagemanager.rstudio.com/cran/__linux__/bionic/latest", http-user-agent: "R/4.1.0 (ubuntu-18.04) R (4.1.0 x86_64-pc-linux-gnu x86_64 linux-gnu) on GitHub Actions" } | |
| - {os: ubuntu-18.04, r: 'release', rspm: "https://packagemanager.rstudio.com/cran/__linux__/bionic/latest"} | |
| - {os: ubuntu-18.04, r: 'oldrel', rspm: "https://packagemanager.rstudio.com/cran/__linux__/bionic/latest"} | |
| env: | |
| RSPM: ${{ matrix.config.rspm }} | |
| GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - uses: r-lib/actions/setup-r@v1 | |
| id: install-r | |
| with: | |
| r-version: ${{ matrix.config.r }} | |
| http-user-agent: ${{ matrix.config.http-user-agent }} | |
| - uses: r-lib/actions/setup-pandoc@v1 | |
| - name: Install pak and query dependencies | |
| run: | | |
| install.packages("pak", repos = "https://r-lib.github.io/p/pak/dev/") | |
| saveRDS(pak::pkg_deps("local::.", dependencies = TRUE), ".github/r-depends.rds") | |
| shell: Rscript {0} | |
| - name: Restore R package cache | |
| uses: actions/cache@v2 | |
| with: | |
| path: | | |
| ${{ env.R_LIBS_USER }}/* | |
| !${{ env.R_LIBS_USER }}/pak | |
| key: ${{ matrix.config.os }}-${{ steps.install-r.outputs.installed-r-version }}-2-${{ hashFiles('.github/r-depends.rds') }} | |
| restore-keys: ${{ matrix.config.os }}-${{ steps.install-r.outputs.installed-r-version }}-2- | |
| - name: Install system dependencies Linux for r devel | |
| if: steps.install-r.outputs.installed-r-version == 'devel' | |
| run: | | |
| sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable -y | |
| sudo apt-get update | |
| sudo apt-get install libgdal-dev libproj-dev libgeos-dev libudunits2-dev | |
| sudo R CMD javareconf | |
| - name: Install system dependencies Linux for r release and old release | |
| if: steps.install-r.outputs.installed-r-version != 'devel' && runner.os == 'Linux' | |
| run: | | |
| sudo apt-get install gdal-bin proj-bin libgdal-dev libproj-dev libgeos-dev libudunits2-dev | |
| sudo apt-get install libharfbuzz-dev | |
| sudo apt-get install libfribidi-dev | |
| sudo R CMD javareconf | |
| - name: Install system dependencies Linux 2 | |
| if: runner.os == 'Linux' | |
| run: | | |
| pak::local_system_requirements(execute = TRUE) | |
| pak::pkg_system_requirements("rcmdcheck", execute = TRUE) | |
| shell: Rscript {0} | |
| - name: Install system dependencies and rgdal for Mac | |
| if: runner.os == 'macOS' | |
| run: | | |
| brew install udunits | |
| brew install gdal | |
| R CMD javareconf | |
| Rscript -e "install.packages('rgdal', type = 'source', configure.args = '--with-proj-lib=/usr/local/lib/ --with-proj-include=/usr/local/include/ --with-proj_api=proj_api.h')" | |
| brew install harfbuzz fribidi | |
| - name: Install dependencies | |
| run: | | |
| pak::local_install_dev_deps(upgrade = TRUE) | |
| pak::pkg_install("rcmdcheck") | |
| shell: Rscript {0} | |
| - name: Session info | |
| run: | | |
| options(width = 100) | |
| pkgs <- installed.packages()[, "Package"] | |
| sessioninfo::session_info(pkgs, include_base = TRUE) | |
| rgdal::rgdal_extSoftVersion() | |
| shell: Rscript {0} | |
| - name: Check | |
| env: | |
| _R_CHECK_CRAN_INCOMING_: false | |
| run: | | |
| options(crayon.enabled = TRUE) | |
| rcmdcheck::rcmdcheck(args = c("--no-manual", "--as-cran"), error_on = "warning", check_dir = "check") | |
| shell: Rscript {0} | |
| - 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: ${{ matrix.config.os }}-r${{ matrix.config.r }}-results | |
| path: check | |
| - name: Don't use tar from old Rtools to store the cache | |
| if: ${{ runner.os == 'Windows' && startsWith(steps.install-r.outputs.installed-r-version, '3.6' ) }} | |
| shell: bash | |
| run: echo "C:/Program Files/Git/usr/bin" >> $GITHUB_PATH |