From 1957f797e47996fd4a80b39ddb1eecd8da622c02 Mon Sep 17 00:00:00 2001 From: Charlotte Soneson Date: Wed, 26 Aug 2026 17:12:20 +0200 Subject: [PATCH 01/11] Add GHA workflow testing on R-devel --- .github/workflows/R-CMD-check-devel.yaml | 152 +++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 .github/workflows/R-CMD-check-devel.yaml diff --git a/.github/workflows/R-CMD-check-devel.yaml b/.github/workflows/R-CMD-check-devel.yaml new file mode 100644 index 0000000..a09a973 --- /dev/null +++ b/.github/workflows/R-CMD-check-devel.yaml @@ -0,0 +1,152 @@ +on: + workflow_dispatch: # enable "run workflow" button + push: + pull_request: + branches: + - devel + # schedule: + # - cron: '0 8 * * 5' + +name: R-CMD-check-devel + +jobs: + R-CMD-check-devel: + runs-on: ${{ matrix.config.os }} + + name: ${{ matrix.config.os }} (${{ matrix.config.bioc }}) + + strategy: + fail-fast: false + matrix: + config: + - { os: windows-latest, r: 'devel', bioc: 'devel', deploy: 'no'} + - { os: macOS-latest, r: 'devel', bioc: 'devel', deploy: 'yes', curlConfigPath: '/usr/bin/'} + # - { os: ubuntu-16.04, r: 'devel', bioc: 'devel', cran: "https://demo.rstudiopm.com/all/__linux__/xenial/latest", deploy = 'no'} + # - { os: ubuntu-latest, r: 'devel', image: 'bioconductor/bioconductor_docker:devel', deploy: 'no'} + + env: + R_REMOTES_NO_ERRORS_FROM_WARNINGS: true + CRAN: ${{ matrix.config.cran }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + CURL_CONFIG: ${{ matrix.config.curlConfigPath }}curl-config + cache-version: v2 + + steps: + - name: checkout branch + uses: actions/checkout@v3 + + - name: Set up R + uses: r-lib/actions/setup-r@master + if: matrix.config.image == null + with: + r-version: ${{ matrix.config.r }} + + - name: R version + run: Rscript -e 'R.version' + + # - name: Set up R and install BiocManager + # uses: grimbough/bioc-actions/setup-bioc@v1 + # if: matrix.config.image == null + # with: + # bioc-version: ${{ matrix.config.bioc }} + + - name: Set up pandoc + uses: r-lib/actions/setup-pandoc@v2 + if: matrix.config.image == null + + - name: Install BiocManager, remotes and RCurl + run: | + install.packages(c('BiocManager', 'remotes', 'RCurl')) + BiocManager::install(version = "${{ matrix.config.bioc }}", ask = FALSE) + shell: Rscript {0} + + - name: Query dependencies + run: | + saveRDS(remotes::dev_package_deps(dependencies = TRUE, repos = c(getOption('repos'), BiocManager::repositories())), 'depends.Rds', version = 2) + shell: Rscript {0} + + - name: Cache R packages + if: runner.os != 'Windows' && matrix.config.image == null + uses: actions/cache@v4 + with: + path: ${{ env.R_LIBS_USER }} + key: ${{ env.cache-version }}-${{ runner.os }}-bioc-${{ matrix.config.bioc }}-${{ hashFiles('depends.Rds') }} + restore-keys: ${{ env.cache-version }}-${{ runner.os }}-bioc-${{ matrix.config.bioc }}- + + - name: Install Linux system dependencies + if: runner.os == 'Linux' + env: + RHUB_PLATFORM: linux-x86_64-ubuntu-gcc + run: | + sudo apt-get update && sudo apt-get -y install libharfbuzz-dev libfribidi-dev + Rscript -e "remotes::install_github('r-hub/sysreqs')" + sysreqs=$(Rscript -e "cat(sysreqs::sysreq_commands('DESCRIPTION'))") + sudo -s eval "$sysreqs" + + - name: Install macOS system dependencies + if: runner.os == 'macOS' + run: | + brew install harfbuzz + brew install fribidi + brew install jpeg fftw + mkdir -p /Users/runner/.R + touch /Users/runner/.R/Makevars + echo 'export CPPFLAGS="-I/opt/homebrew/opt/jpeg/include"' >> /Users/runner/.R/Makevars + echo 'export LDFLAGS="-L/opt/homebrew/opt/jpeg/lib"' >> /Users/runner/.R/Makevars + echo 'export PKG_CONFIG_PATH="/opt/homebrew/opt/jpeg/lib/pkgconfig"' >> /Users/runner/.R/Makevars + Rscript -e 'BiocManager::install(c("GenomeInfoDbData"), type = "source")' + Rscript -e 'BiocManager::install(c("GenomicFeatures"), type = "source")' + + + - name: Install R package dependencies + run: | + local_deps <- remotes::local_package_deps(dependencies = TRUE) + deps <- remotes::dev_package_deps(dependencies = TRUE, repos = BiocManager::repositories()) + print(deps) + BiocManager::install(local_deps[local_deps %in% deps$package[deps$diff != 0]], Ncpu = 2L) + remotes::install_cran('rcmdcheck', Ncpu = 2L) + shell: Rscript {0} + + - name: Session info + run: | + options(width = 100) + pkgs <- installed.packages()[, "Package"] + sessioninfo::session_info(pkgs, include_base = TRUE) + shell: Rscript {0} + + - name: Build, Install, Check + id: build-install-check + uses: grimbough/bioc-actions/build-install-check@v1 + + - name: Upload install log if the build/install/check step fails + if: always() && (steps.build-install-check.outcome == 'failure') + uses: actions/upload-artifact@v4 + with: + name: install-log + path: | + ${{ steps.build-install-check.outputs.install-log }} + + - name: Show testthat output (windows) + if: always() && runner.os == 'Windows' + run: | + type ${{ steps.build-install-check.outputs.check-dir }}\tests\testthat.Rout + shell: cmd + + - name: Show testthat output (non-windows) + if: always() && runner.os != 'Windows' + run: | + cat ${{ steps.build-install-check.outputs.check-dir }}/tests/testthat.Rout + shell: bash + + - name: Upload check results + if: failure() + uses: actions/upload-artifact@master + with: + name: ${{ runner.os }}-results + path: ${{ steps.build-install-check.outputs.check-dir }} + + + + + From 93eed55670fb8b71491e80363217ee5fa0d615a6 Mon Sep 17 00:00:00 2001 From: Charlotte Soneson Date: Wed, 26 Aug 2026 20:02:26 +0200 Subject: [PATCH 02/11] Remove scheduled run --- .github/workflows/R-CMD-check-devel.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/R-CMD-check-devel.yaml b/.github/workflows/R-CMD-check-devel.yaml index a09a973..0bee9df 100644 --- a/.github/workflows/R-CMD-check-devel.yaml +++ b/.github/workflows/R-CMD-check-devel.yaml @@ -4,8 +4,6 @@ on: pull_request: branches: - devel - # schedule: - # - cron: '0 8 * * 5' name: R-CMD-check-devel From 2a422f3c07136ce9a27397ce52e3a5b49d36cf73 Mon Sep 17 00:00:00 2001 From: Charlotte Soneson Date: Wed, 26 Aug 2026 20:03:54 +0200 Subject: [PATCH 03/11] Update setup-r action version --- .github/workflows/R-CMD-check-devel.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/R-CMD-check-devel.yaml b/.github/workflows/R-CMD-check-devel.yaml index 0bee9df..9a68130 100644 --- a/.github/workflows/R-CMD-check-devel.yaml +++ b/.github/workflows/R-CMD-check-devel.yaml @@ -35,7 +35,7 @@ jobs: uses: actions/checkout@v3 - name: Set up R - uses: r-lib/actions/setup-r@master + uses: r-lib/actions/setup-r@v2 if: matrix.config.image == null with: r-version: ${{ matrix.config.r }} From 1e150e6984569105f2c72e5bd87aa02954f3d196 Mon Sep 17 00:00:00 2001 From: Charlotte Soneson Date: Wed, 26 Aug 2026 20:43:36 +0200 Subject: [PATCH 04/11] Add more configs to GHA matrix --- .github/workflows/R-CMD-check-devel.yaml | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/.github/workflows/R-CMD-check-devel.yaml b/.github/workflows/R-CMD-check-devel.yaml index 9a68130..40012b8 100644 --- a/.github/workflows/R-CMD-check-devel.yaml +++ b/.github/workflows/R-CMD-check-devel.yaml @@ -11,14 +11,16 @@ jobs: R-CMD-check-devel: runs-on: ${{ matrix.config.os }} - name: ${{ matrix.config.os }} (${{ matrix.config.bioc }}) + name: ${{ matrix.config.os }} (${{ matrix.config.r }} - ${{ matrix.config.bioc }}) strategy: fail-fast: false matrix: config: - - { os: windows-latest, r: 'devel', bioc: 'devel', deploy: 'no'} - - { os: macOS-latest, r: 'devel', bioc: 'devel', deploy: 'yes', curlConfigPath: '/usr/bin/'} + - { os: windows-latest, r: 'devel', bioc: 'devel'} + - { os: macOS-latest, r: 'devel', bioc: 'devel', curlConfigPath: '/usr/bin/'} + - { os: ubuntu-latest, r: 'devel', bioc: 'devel'} + - { os: windows-latest, r: 'release', bioc: 'devel'} # - { os: ubuntu-16.04, r: 'devel', bioc: 'devel', cran: "https://demo.rstudiopm.com/all/__linux__/xenial/latest", deploy = 'no'} # - { os: ubuntu-latest, r: 'devel', image: 'bioconductor/bioconductor_docker:devel', deploy: 'no'} @@ -43,12 +45,6 @@ jobs: - name: R version run: Rscript -e 'R.version' - # - name: Set up R and install BiocManager - # uses: grimbough/bioc-actions/setup-bioc@v1 - # if: matrix.config.image == null - # with: - # bioc-version: ${{ matrix.config.bioc }} - - name: Set up pandoc uses: r-lib/actions/setup-pandoc@v2 if: matrix.config.image == null @@ -56,7 +52,7 @@ jobs: - name: Install BiocManager, remotes and RCurl run: | install.packages(c('BiocManager', 'remotes', 'RCurl')) - BiocManager::install(version = "${{ matrix.config.bioc }}", ask = FALSE) + BiocManager::install(version = "${{ matrix.config.bioc }}", ask = FALSE, update = FALSE) shell: Rscript {0} - name: Query dependencies @@ -69,8 +65,8 @@ jobs: uses: actions/cache@v4 with: path: ${{ env.R_LIBS_USER }} - key: ${{ env.cache-version }}-${{ runner.os }}-bioc-${{ matrix.config.bioc }}-${{ hashFiles('depends.Rds') }} - restore-keys: ${{ env.cache-version }}-${{ runner.os }}-bioc-${{ matrix.config.bioc }}- + key: ${{ env.cache-version }}-${{ runner.os }}-r-${{ matrix.config.r }}-bioc-${{ matrix.config.bioc }}-${{ hashFiles('depends.Rds') }} + restore-keys: ${{ env.cache-version }}-${{ runner.os }}-r-${{ matrix.config.r }}-bioc-${{ matrix.config.bioc }}- - name: Install Linux system dependencies if: runner.os == 'Linux' From 518bfca442950fc7c7e2973d87f111e346ac9dbb Mon Sep 17 00:00:00 2001 From: Charlotte Soneson Date: Wed, 26 Aug 2026 21:26:50 +0200 Subject: [PATCH 05/11] Fix Linux system dependencies installation --- .github/workflows/R-CMD-check-devel.yaml | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/.github/workflows/R-CMD-check-devel.yaml b/.github/workflows/R-CMD-check-devel.yaml index 40012b8..dd926e7 100644 --- a/.github/workflows/R-CMD-check-devel.yaml +++ b/.github/workflows/R-CMD-check-devel.yaml @@ -72,11 +72,20 @@ jobs: if: runner.os == 'Linux' env: RHUB_PLATFORM: linux-x86_64-ubuntu-gcc - run: | - sudo apt-get update && sudo apt-get -y install libharfbuzz-dev libfribidi-dev - Rscript -e "remotes::install_github('r-hub/sysreqs')" - sysreqs=$(Rscript -e "cat(sysreqs::sysreq_commands('DESCRIPTION'))") - sudo -s eval "$sysreqs" + uses: r-lib/actions/setup-r-dependencies@v2 + with: + extra-packages: any::rcmdcheck + pak-version: devel + + # - name: Install Linux system dependencies + # if: runner.os == 'Linux' + # env: + # RHUB_PLATFORM: linux-x86_64-ubuntu-gcc + # run: | + # sudo apt-get update && sudo apt-get -y install libharfbuzz-dev libfribidi-dev + # Rscript -e "remotes::install_github('r-hub/sysreqs')" + # sysreqs=$(Rscript -e "cat(sysreqs::sysreq_commands('DESCRIPTION'))") + # sudo -s eval "$sysreqs" - name: Install macOS system dependencies if: runner.os == 'macOS' @@ -98,7 +107,7 @@ jobs: local_deps <- remotes::local_package_deps(dependencies = TRUE) deps <- remotes::dev_package_deps(dependencies = TRUE, repos = BiocManager::repositories()) print(deps) - BiocManager::install(local_deps[local_deps %in% deps$package[deps$diff != 0]], Ncpu = 2L) + BiocManager::install(local_deps[local_deps %in% deps$package[deps$diff != 0]], Ncpu = 2L, ask = FALSE, update = FALSE) remotes::install_cran('rcmdcheck', Ncpu = 2L) shell: Rscript {0} From 018a8791307c7d91f83ec4130a4938aa65c159d1 Mon Sep 17 00:00:00 2001 From: Charlotte Soneson Date: Wed, 26 Aug 2026 21:54:37 +0200 Subject: [PATCH 06/11] Only run R-devel checks upon request --- .github/workflows/R-CMD-check-devel.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/R-CMD-check-devel.yaml b/.github/workflows/R-CMD-check-devel.yaml index dd926e7..d069de5 100644 --- a/.github/workflows/R-CMD-check-devel.yaml +++ b/.github/workflows/R-CMD-check-devel.yaml @@ -1,9 +1,5 @@ on: workflow_dispatch: # enable "run workflow" button - push: - pull_request: - branches: - - devel name: R-CMD-check-devel From 9bda5e69929f1f340e4aba9e22927cecbf7c09c8 Mon Sep 17 00:00:00 2001 From: Charlotte Soneson Date: Wed, 26 Aug 2026 21:55:12 +0200 Subject: [PATCH 07/11] Set RNGversion to 4.6 in tests to get consistent values from rmultinom --- tests/testthat/test_runEISA.R | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/testthat/test_runEISA.R b/tests/testthat/test_runEISA.R index a030e6a..9cfad88 100644 --- a/tests/testthat/test_runEISA.R +++ b/tests/testthat/test_runEISA.R @@ -65,6 +65,8 @@ test_that("runEISA() runs", { context("runEISA gives expected results") test_that("runEISA() gives expected results", { + expect_warning(RNGversion("4.6")) + # construct artificial example fracIntron <- 0.2 ngenes <- 3000L From 3d10f5dd6acedd1a9ee79139b35cdcd0a8cd4cdb Mon Sep 17 00:00:00 2001 From: Charlotte Soneson Date: Wed, 26 Aug 2026 21:55:29 +0200 Subject: [PATCH 08/11] Bump version --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 4296449..bb52f1c 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: eisaR Title: Exon-Intron Split Analysis (EISA) in R -Version: 1.25.2 +Version: 1.25.3 Authors@R: c(person("Michael", "Stadler", email = "michael.stadler@fmi.ch", role = c("aut", "cre")), person("Dimos", "Gaidatzis", email = "dimosthenis.gaidatzis@fmi.ch", role = "aut"), person("Lukas", "Burger", email = "lukas.burger@fmi.ch", role = "aut"), From e07a3f29e55a8c10d2049b932b19e89cbfc690ad Mon Sep 17 00:00:00 2001 From: Charlotte Soneson Date: Thu, 27 Aug 2026 06:53:04 +0200 Subject: [PATCH 09/11] Run devel workflow also on PR to devel --- .github/workflows/R-CMD-check-devel.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/R-CMD-check-devel.yaml b/.github/workflows/R-CMD-check-devel.yaml index d069de5..8765326 100644 --- a/.github/workflows/R-CMD-check-devel.yaml +++ b/.github/workflows/R-CMD-check-devel.yaml @@ -1,5 +1,8 @@ on: workflow_dispatch: # enable "run workflow" button + pull_request: + branches: + - devel name: R-CMD-check-devel From 2879a2a3b2d51697344cc100e38b0917e44271cd Mon Sep 17 00:00:00 2001 From: Charlotte Soneson Date: Thu, 27 Aug 2026 07:16:18 +0200 Subject: [PATCH 10/11] Suppress warnings instead of expecting them (to avoid failing in release R) --- tests/testthat/test_runEISA.R | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/testthat/test_runEISA.R b/tests/testthat/test_runEISA.R index 9cfad88..1a767ba 100644 --- a/tests/testthat/test_runEISA.R +++ b/tests/testthat/test_runEISA.R @@ -65,7 +65,9 @@ test_that("runEISA() runs", { context("runEISA gives expected results") test_that("runEISA() gives expected results", { - expect_warning(RNGversion("4.6")) + # rbinom was fixed in R 4.7 - fix to 4.6 behavior to get reproducible + # simulated data across R versions + suppressWarnings(RNGversion("4.6")) # construct artificial example fracIntron <- 0.2 From 77cbce1a657307453daedba857e8d018c73ec8a0 Mon Sep 17 00:00:00 2001 From: Charlotte Soneson Date: Thu, 27 Aug 2026 08:35:41 +0200 Subject: [PATCH 11/11] Disable running of devel GHA workflow --- .github/workflows/R-CMD-check-devel.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/R-CMD-check-devel.yaml b/.github/workflows/R-CMD-check-devel.yaml index 8765326..f83e836 100644 --- a/.github/workflows/R-CMD-check-devel.yaml +++ b/.github/workflows/R-CMD-check-devel.yaml @@ -1,8 +1,8 @@ on: workflow_dispatch: # enable "run workflow" button - pull_request: - branches: - - devel + # pull_request: + # branches: + # - devel name: R-CMD-check-devel