Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add basic CI checks #217

Merged
merged 5 commits into from
Aug 1, 2024
Merged
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions .github/workflows/integration_checks.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
name: Integration Checks

# because `main` is a protected branch this workflow is triggered when a PR
# is opened/updated and again when it is merged
on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
check-package:
# system dependencies for cannot be automatically resolved by
# `r-lib/actions/setup-r@v2` for macos or windows - to avoid having to
# maintain separate logic to infer and install system of those operating
# systems we'll only run integration checks with the ubuntu
runs-on: ubuntu-latest

# run integration checks with R-release, R-devel, and R-oldrelease
strategy:
matrix:
r-version: ['release', 'devel', 'oldrel']

steps:
# pull the latest changes from the repository down to the runner
- name: Checkout
uses: actions/checkout@v4

# install R and any system dependencies
- name: Setup R
uses: r-lib/actions/setup-r@v2
with:
# install the R version specified by the current strategy
r-version: ${{ matrix.r-version }}
# specify additional repositories to pull dependencies not
# available on CRAN (i.e. `BPCells`)
extra-repositories: ${{ 'https://bnprks.r-universe.dev' }}

# install R dependencies
- name: Install Dependencies
uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages:
any::rcmdcheck
any::pkgdown
# installed packages are cached by default - force an upgrade to the
# latest version of all dependencies
upgrade: 'TRUE'

# run CRAN checks - fails if any ERRORs or WARNINGs are raised in which
# case the `rcmdcheck` output will be uploaded as an artifact
- name: Run Checks
uses: r-lib/actions/check-r-package@v2
env:
# suppress NOTEs that are accepted by CRAN
# see: https://www.rdocumentation.org/packages/rcmdcheck/versions/1.4.0/topics/rcmdcheck
_R_CHECK_PKG_SIZES_: false
_R_CHECK_RD_XREFS_: false
_R_CHECK_CRAN_INCOMING_NOTE_GNU_MAKE_: false
_R_CHECK_PACKAGE_DATASETS_SUPPRESS_NOTES_: true
continue-on-error: true

# build pkgdown site
- name: Build Website
run: |
pkgdown::build_site_github_pages(
new_process = FALSE,
install = FALSE
)
shell: Rscript {0}