Merge pull request #12 from jiajic/dev #1
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. | |
name: Dev Workflow - Test and check | |
on: | |
push: | |
branches: [ "dev" ] | |
permissions: | |
contents: read | |
jobs: | |
R-CMD-check: | |
name: R CMD Check | |
env: | |
GITHUB_PAT: ${{ secrets.WORKFLOW_PAT }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Remove vignettes dir | |
run: rm -rf 'vignettes/' | |
shell: bash | |
- name: Checkout repo for workflow access | |
uses: actions/checkout@v3 | |
- name: Set up R environment | |
uses: r-lib/actions/setup-r@v2 | |
with: | |
use-public-rspm: true | |
- name: Set up dependencies (general) | |
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::rlang, any::R.utils, any::remotes | |
- name: Set up dependencies (GiottoData) | |
run: | | |
suppressWarnings({ | |
remotes::install_github('drieslab/GiottoData@suite_modular', build = FALSE) | |
}) | |
shell: Rscript {0} | |
- name: 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: | |
name: Code coverage | |
runs-on: ubuntu-latest | |
env: | |
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Checkout repo for workflow access | |
uses: actions/checkout@v3 | |
- name: Set up R environment | |
uses: r-lib/actions/setup-r@v2 | |
with: | |
use-public-rspm: true | |
- name: Set up dependencies (general) | |
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::rlang, any::R.utils, any::remotes, any::covr | |
needs: coverage | |
- name: Set up dependencies (GiottoData) | |
run: | | |
suppressWarnings({ | |
remotes::install_github('drieslab/GiottoData@suite_modular', build = FALSE) | |
}) | |
shell: Rscript {0} | |
- 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 | |
steps: | |
- name: Checkout repo for workflow access | |
uses: actions/checkout@v3 | |
- name: Set up R environment | |
uses: r-lib/actions/setup-r@v2 | |
with: | |
use-public-rspm: true | |
- name: Set up dependencies (general) | |
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::lintr, local::. | |
needs: lint | |
- name: Lint | |
run: lintr::lint_package() | |
shell: Rscript {0} | |
env: | |
LINTR_ERROR_ON_LINT: false | |