Merge pull request #7 from jiajic/main #18
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
# This workflow uses actions that are not certified by GitHub. | |
# They are provided by a third-party and are governed by | |
# separate terms of service, privacy policy, and support | |
# documentation. | |
# | |
# See https://github.com/r-lib/actions/tree/master/examples#readme for | |
# additional example workflows available for the R community. | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
permissions: | |
contents: read | |
name: github_workflow | |
jobs: | |
R-CMD-check: | |
runs-on: ${{ matrix.config.os }} | |
name: ${{ matrix.config.os }} (${{ matrix.config.r }}) | |
strategy: | |
fail-fast: false | |
matrix: | |
config: # matrix of system runners to run workflow on | |
- {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'} | |
steps: | |
# remove vignettes dir | |
- name: Remove vignettes dir | |
run: rm -rf 'vignettes/' | |
shell: bash | |
# checkout repo for workflow access | |
- uses: actions/checkout@v2 | |
# setup R | |
- 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 | |
# setup dependencies | |
- uses: r-lib/actions/setup-r-dependencies@v2 | |
env: | |
_R_CHECK_FORCE_SUGGESTS: false | |
_R_CHECK_RD_XREFS: false | |
with: | |
dependencies: '"hard"' # do not use suggested dependencies | |
extra-packages: any::rcmdcheck, any::testthat, any::data.table | |
# run R CMD check | |
- uses: r-lib/actions/check-r-package@v2 | |
with: | |
upload-snapshots: true | |
error-on: '"error"' # workflow errors on error only, can change to include warnings | |
# show testthat output for ease of access | |
- name: Show testthat output | |
if: always() | |
run: find check -name 'testthat.Rout*' -exec cat '{}' \; || true | |
shell: bash | |
test-coverage: | |
runs-on: ubuntu-latest | |
env: | |
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: r-lib/actions/setup-r@v2 | |
with: | |
use-public-rspm: true | |
# install extra dependencies | |
- name: Install GiottoData | |
run: | | |
suppressWarnings({ | |
if(!require(remotes)){ | |
install.packages('R.utils', repos = 'http://cran.us.r-project.org') | |
install.packages('remotes', repos = 'http://cran.us.r-project.org') | |
} | |
remotes::install_github('drieslab/GiottoData', build = FALSE) | |
}) | |
shell: Rscript {0} | |
- uses: r-lib/actions/setup-r-dependencies@v2 | |
with: | |
extra-packages: any::covr | |
needs: coverage | |
- name: Test coverage | |
run: | | |
covr::codecov( | |
quiet = FALSE, | |
clean = FALSE, | |
install_path = file.path(Sys.getenv("RUNNER_TEMP"), "package") | |
) | |
shell: Rscript {0} | |
# add code cov | |
- name: Upload coverage reports to Codecov | |
uses: codecov/codecov-action@v3 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
# lint: | |
# runs-on: ubuntu-latest | |
# env: | |
# GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | |
# steps: | |
# - uses: actions/checkout@v3 | |
# | |
# - uses: r-lib/actions/setup-r@v2 | |
# with: | |
# use-public-rspm: true | |
# | |
# - uses: r-lib/actions/setup-r-dependencies@v2 | |
# with: | |
# extra-packages: any::lintr, local::. | |
# needs: lint | |
# | |
# - name: Lint | |
# run: lintr::lint_package() | |
# shell: Rscript {0} | |
# env: | |
# LINTR_ERROR_ON_LINT: true | |
# render-rmarkdown: | |
# runs-on: ubuntu-latest | |
# env: | |
# GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | |
# steps: | |
# - name: Checkout repo | |
# uses: actions/checkout@v3 | |
# with: | |
# fetch-depth: 0 | |
# | |
# - uses: r-lib/actions/setup-pandoc@v2 | |
# | |
# - uses: r-lib/actions/setup-r@v2 | |
# | |
# - uses: r-lib/actions/setup-renv@v2 | |
# | |
# - name: Install rmarkdown | |
# run: Rscript -e 'install.packages("rmarkdown")' | |
# | |
# - name: Render README | |
# run: Rscript -e 'rmarkdown::render("README.Rmd")' | |
# | |
# - name: Commit results | |
# run: | | |
# git commit README.md -m 'Re-build README.Rmd' || echo "No changes to commit" | |
# git push origin || echo "No changes to commit" |