diff --git a/.github/workflows/R-check.yml b/.github/workflows/R-check.yml new file mode 100644 index 0000000..f1d5b0b --- /dev/null +++ b/.github/workflows/R-check.yml @@ -0,0 +1,66 @@ +on: [push, pull_request] + +name: R-check + +jobs: + R-check: + runs-on: ${{ matrix.config.os }} + + name: ${{ matrix.config.os }} (${{ matrix.config.r }}) + + strategy: + fail-fast: false + matrix: + config: + - { os: windows-latest, r: 'latest'} + - { os: macOS-latest, r: 'latest'} + - { os: macOS-latest, r: 'devel'} + - { os: ubuntu-16.04, r: '3.6', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest"} + - { os: ubuntu-16.04, r: 'latest', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest"} + + env: + R_REMOTES_NO_ERRORS_FROM_WARNINGS: true + RSPM: ${{ matrix.config.rspm }} + + steps: + - uses: actions/checkout@v2 + + - uses: r-lib/actions/setup-r@v1 + with: + r-version: ${{ matrix.config.r }} + + - uses: r-lib/actions/setup-pandoc@v1 + + - name: Cache R packages + if: runner.os != 'Windows' + uses: actions/cache@v2 + with: + path: ${{ env.R_LIBS_USER }} + key: ${{ runner.os }}-r-${{ matrix.config.r }}-${{ hashFiles('DESCRIPTION') }} + + - name: Install system dependencies + if: runner.os == 'Linux' + env: + RHUB_PLATFORM: linux-x86_64-ubuntu-gcc + run: | + Rscript -e "install.packages('remotes')" -e "remotes::install_github('r-hub/sysreqs')" + sysreqs=$(Rscript -e "cat(sysreqs::sysreq_commands('DESCRIPTION'))") + sudo -s eval "$sysreqs" + + - name: Install dependencies + run: Rscript -e "install.packages('remotes')" -e "remotes::install_deps(dependencies = TRUE)" -e "remotes::install_cran('rcmdcheck')" + + - name: Check + run: Rscript -e "rcmdcheck::rcmdcheck(args = '--no-manual', error_on = 'warning', check_dir = 'check')" + + - name: Upload check results + if: failure() + uses: actions/upload-artifact@v2 + with: + name: ${{ runner.os }}-r${{ matrix.config.r }}-results + path: check + + - name: Test coverage + if: matrix.config.os == 'macOS-latest' && matrix.config.r == 'latest' + run: | + Rscript -e 'install.packages("covr")' -e 'covr::codecov(token = "${{secrets.CODECOV_TOKEN}}")' diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index b13b84d..0000000 --- a/.travis.yml +++ /dev/null @@ -1,21 +0,0 @@ -language: r -cache: packages -os: linux - -r_packages: - - covr - -matrix: - include: - - r: release - env: R_CODECOV=true - - r: devel - env: _R_CHECK_LENGTH_1_LOGIC2_=TRUE - -after_success: - - if [[ "${R_CODECOV}" ]]; then R -e 'covr::codecov()'; fi - -notifications: - email: - on_success: never - on_failure: never diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index 5d8922b..0000000 --- a/appveyor.yml +++ /dev/null @@ -1,21 +0,0 @@ -environment: - R_CHECK_ARGS: --no-build-vignettes --no-manual - -init: - ps: | - $ErrorActionPreference = "Stop" - Invoke-WebRequest http://raw.github.com/krlmlr/r-appveyor/master/scripts/appveyor-tool.ps1 -OutFile "..\appveyor-tool.ps1" - Import-Module '..\appveyor-tool.ps1' - -install: - ps: Bootstrap - -build_script: - - travis-tool.sh install_github hadley/ggplot2 - - travis-tool.sh install_deps - -test_script: - - travis-tool.sh run_tests - -on_failure: - - travis-tool.sh dump_logs