Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
66 changes: 3 additions & 63 deletions .github/workflows/R-CMD-check.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Calls the shared CTTIR workflow. Do not add steps here - change the shared
# one at CTTIR/.github so every package moves together.
on:
push:
branches: [main, master]
Expand All @@ -10,66 +12,4 @@ permissions: read-all

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-latest, r: 'devel', http-user-agent: 'release'}
- {os: ubuntu-latest, r: 'release'}
- {os: ubuntu-latest, r: 'oldrel-1'}

env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
R_KEEP_PKG_SOURCE: yes
_R_CHECK_FORCE_SUGGESTS_: false

steps:
- uses: actions/checkout@v4

- uses: r-lib/actions/setup-pandoc@v2

- 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

- uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: any::rcmdcheck
needs: check

- name: Install Bioconductor Suggests (optional)
run: |
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
bioc_pkgs <- c("DESeq2", "edgeR", "limma", "ShortRead", "Biostrings",
"Rsamtools", "GenomicAlignments", "GenomicFeatures",
"GenomicRanges", "SummarizedExperiment", "Biobase",
"ComplexHeatmap")
# Only install packages that are actually in Suggests
desc_suggests <- strsplit(read.dcf("DESCRIPTION")[, "Suggests"], ",\\s*")[[1]]
desc_suggests <- trimws(gsub("\\s*\\(.*\\)", "", desc_suggests))
to_install <- intersect(bioc_pkgs, desc_suggests)
if (length(to_install) > 0) {
message("Installing Bioconductor packages: ", paste(to_install, collapse = ", "))
tryCatch(
BiocManager::install(to_install, update = FALSE),
error = function(e) message("Bioconductor install skipped: ", e$message)
)
} else {
message("No Bioconductor Suggests found - skipping.")
}
shell: Rscript {0}
continue-on-error: true

- uses: r-lib/actions/check-r-package@v2
with:
upload-snapshots: true
build_args: 'c("--no-manual","--compact-vignettes=gs+qpdf")'
uses: CTTIR/.github/.github/workflows/R-CMD-check.yaml@main
20 changes: 20 additions & 0 deletions .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]

name: lint

permissions: read-all

jobs:
lint:
uses: CTTIR/.github/.github/workflows/lint.yaml@main
# hexmakR measured 0 house-linter findings on 2026-08-21, so it can block
# from day one rather than waiting for a cleanup.
with:
# hexmakR has 15 house-linter findings (14 stop()/warning(), 1
# multi-entry globalVariables). Report-only until they are cleared,
# then flip to true.
blocking: false
60 changes: 4 additions & 56 deletions .github/workflows/test-coverage.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,59 +10,7 @@ permissions: read-all

jobs:
test-coverage:
runs-on: ubuntu-latest
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
_R_CHECK_FORCE_SUGGESTS_: false

steps:
- uses: actions/checkout@v4

- uses: r-lib/actions/setup-r@v2
with:
use-public-rspm: true

- uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: any::covr, any::xml2
needs: coverage

- name: Install Bioconductor Suggests (optional)
run: |
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
bioc_pkgs <- c("DESeq2", "edgeR", "limma", "ShortRead", "Biostrings",
"Rsamtools", "GenomicAlignments", "GenomicFeatures",
"GenomicRanges", "SummarizedExperiment", "Biobase",
"ComplexHeatmap")
desc_suggests <- strsplit(read.dcf("DESCRIPTION")[, "Suggests"], ",\\s*")[[1]]
desc_suggests <- trimws(gsub("\\s*\\(.*\\)", "", desc_suggests))
to_install <- intersect(bioc_pkgs, desc_suggests)
if (length(to_install) > 0) {
message("Installing Bioconductor packages: ", paste(to_install, collapse = ", "))
tryCatch(
BiocManager::install(to_install, update = FALSE),
error = function(e) message("Bioconductor install skipped: ", e$message)
)
} else {
message("No Bioconductor Suggests found - skipping.")
}
shell: Rscript {0}
continue-on-error: true

- name: Test coverage
run: |
cov <- covr::package_coverage(
quiet = FALSE,
clean = FALSE,
install_path = file.path(normalizePath(Sys.getenv("RUNNER_TEMP"), winslash = "/"), "package")
)
covr::to_cobertura(cov)
shell: Rscript {0}

- uses: codecov/codecov-action@v4
with:
fail_ci_if_error: ${{ github.event_name != 'pull_request' }}
file: ./cobertura.xml
plugin: noop
token: ${{ secrets.CODECOV_TOKEN }}
uses: CTTIR/.github/.github/workflows/test-coverage.yaml@main
with:
floor: 90
secrets: inherit
Loading