From 8798cb0977170dc11192e449be409565a6394156 Mon Sep 17 00:00:00 2001 From: J Wokaty Date: Tue, 29 Oct 2024 10:48:47 -0400 Subject: [PATCH 1/7] bump x.y.z version to even y prior to creation of RELEASE_3_20 branch --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 0ac8039..b60e198 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,5 +1,5 @@ Package: SpatialExperiment -Version: 1.15.1 +Version: 1.16.0 Title: S4 Class for Spatially Resolved -omics Data Description: Defines an S4 class for storing data from spatial -omics experiments. The class extends SingleCellExperiment to From 29a659f6df0cb42655ad64349f07c43f9c702917 Mon Sep 17 00:00:00 2001 From: J Wokaty Date: Tue, 29 Oct 2024 10:48:47 -0400 Subject: [PATCH 2/7] bump x.y.z version to odd y following creation of RELEASE_3_20 branch --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index b60e198..b188c70 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,5 +1,5 @@ Package: SpatialExperiment -Version: 1.16.0 +Version: 1.17.0 Title: S4 Class for Spatially Resolved -omics Data Description: Defines an S4 class for storing data from spatial -omics experiments. The class extends SingleCellExperiment to From 52c718ff58a72e4317b00da7630fe2312a6b9433 Mon Sep 17 00:00:00 2001 From: A Wokaty Date: Tue, 15 Apr 2025 12:05:26 -0400 Subject: [PATCH 3/7] bump x.y.z version to even y prior to creation of RELEASE_3_21 branch --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index b188c70..2395b04 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,5 +1,5 @@ Package: SpatialExperiment -Version: 1.17.0 +Version: 1.18.0 Title: S4 Class for Spatially Resolved -omics Data Description: Defines an S4 class for storing data from spatial -omics experiments. The class extends SingleCellExperiment to From ac16d855968921d20f235e8358fbcc9288611ff6 Mon Sep 17 00:00:00 2001 From: A Wokaty Date: Tue, 15 Apr 2025 12:05:26 -0400 Subject: [PATCH 4/7] bump x.y.z version to odd y following creation of RELEASE_3_21 branch --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 2395b04..7953272 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,5 +1,5 @@ Package: SpatialExperiment -Version: 1.18.0 +Version: 1.19.0 Title: S4 Class for Spatially Resolved -omics Data Description: Defines an S4 class for storing data from spatial -omics experiments. The class extends SingleCellExperiment to From 3fa5af24083b30b0845a63658913451e14a44da4 Mon Sep 17 00:00:00 2001 From: Lukas Weber Date: Wed, 7 May 2025 18:26:51 -0400 Subject: [PATCH 5/7] update email --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index c6b7cfd..46aab29 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -18,7 +18,7 @@ Authors@R: c( email="helena.crowell@cnag.eu", comment=c(ORCID="0000-0002-4801-1767")), person("Lukas M.", "Weber", role=c("aut"), - email="lmweberedu@gmail.com", + email="lmweb012@gmail.com", comment=c(ORCID="0000-0002-3282-1730")), person("Nicholas J.", "Eagles", role=c("ctb"), email="nickeagles77@gmail.com")) From 8fabc05270c66d850694d5b3b6b58b284e54eca1 Mon Sep 17 00:00:00 2001 From: Lukas Weber Date: Wed, 7 May 2025 18:27:24 -0400 Subject: [PATCH 6/7] update GHA --- .github/workflows/check-bioc.yml | 134 ++++++++++++++++++++----------- 1 file changed, 85 insertions(+), 49 deletions(-) diff --git a/.github/workflows/check-bioc.yml b/.github/workflows/check-bioc.yml index ae4855d..1505c90 100644 --- a/.github/workflows/check-bioc.yml +++ b/.github/workflows/check-bioc.yml @@ -40,26 +40,64 @@ env: has_RUnit: 'false' cache-version: 'cache-v1' run_docker: 'false' + bioc_version: 'bioc-devel' + ## Valid options are: + ## "bioc-release" + ## "bioc-devel" + ## or a specific number like "3.20" jobs: + bioc-config: + runs-on: ubuntu-latest + outputs: + matrix: ${{ steps.set-bioc-matrix.outputs.matrix }} + steps: + ## Adapted from + ## https://runs-on.com/github-actions/the-matrix-strategy/#dynamic-matrix-generation + - id: set-bioc-matrix + run: | + bioc=$(curl -L https://bioconductor.org/config.yaml) + if [[ "$bioc_version" == "bioc-release" ]]; then + echo "Finding the latest BioC release version and the corresponding R version" + biocversion=$(echo "$bioc" | grep "release_version: " | grep -Eo "[0-9]{1}\.[0-9]{2}") + rversion=$(echo "$bioc" | grep "r_version_associated_with_release: " | grep -Eo "[0-9]{1}\.[0-9]{1}") + biocmajor=$(echo "$biocversion" | cut -c 1-1) + biocminor=$(echo "$biocversion" | cut -c 3-4) + bioccont=$(echo "bioconductor/bioconductor_docker:RELEASE_${biocmajor}_${biocminor}") + elif [[ "$bioc_version" == "bioc-devel" ]]; then + echo "Finding the latest BioC devel version and the corresponding R version" + biocversion=$(echo "$bioc" | grep "devel_version: " | grep -Eo "[0-9]{1}\.[0-9]{2}") + rversion_release=$(echo "$bioc" | grep "r_version_associated_with_release: " | grep -Eo "[0-9]{1}\.[0-9]{1}") + rversion_devel=$(echo "$bioc" | grep "r_version_associated_with_devel: " | grep -Eo "[0-9]{1}\.[0-9]{1}") + if [[ "$rversion_release" == "$rversion_devel" ]]; then + rversion=$(echo "$rversion_devel") + else + rversion="devel" + fi + bioccont="bioconductor/bioconductor_docker:devel" + else + echo "Finding the the R version for bioc version ${bioc_version}" + biocversion=$(echo "$bioc_version") + rversion=$(echo "$bioc" | sed -En "/r_ver_for_bioc_ver/,/release_dates/p" | grep "$bioc_version\":" | grep -Eo ": \"[0-9]{1}\.[0-9]{1}" | grep -Eo "[0-9]{1}\.[0-9]{1}") + biocmajor=$(echo "$biocversion" | cut -c 1-1) + biocminor=$(echo "$biocversion" | cut -c 3-4) + bioccont=$(echo "bioconductor/bioconductor_docker:RELEASE_${biocmajor}_${biocminor}") + fi + echo "Found these settings:" + echo "Bioconductor version: $biocversion, R version: $rversion, Bioconductor docker name: $bioccont" + echo "matrix={ \"config\": [{\"os\" : \"ubuntu-latest\", \"r\" : \"${rversion}\", \"bioc\" : \"${biocversion}\", \"cont\" : \"${bioccont}\"} , {\"os\" : \"macOS-latest\", \"r\" : \"${rversion}\", \"bioc\" : \"${biocversion}\"} , {\"os\" : \"windows-latest\", \"r\" : \"${rversion}\", \"bioc\" : \"${biocversion}\" }] }" >> "$GITHUB_OUTPUT" + ## If an OS is failing and you don't want to test it, manually remove it from the 'matrix' JSON entries above + build-check: + needs: bioc-config + strategy: + fail-fast: false + matrix: ${{fromJson(needs.bioc-config.outputs.matrix)}} runs-on: ${{ matrix.config.os }} name: ${{ matrix.config.os }} (${{ matrix.config.r }}) container: ${{ matrix.config.cont }} - ## Environment variables unique to this job. - - strategy: - fail-fast: false - matrix: - config: - - { os: ubuntu-latest, r: '4.4', bioc: '3.19', cont: "bioconductor/bioconductor_docker:RELEASE_3_19", rspm: "https://packagemanager.rstudio.com/cran/__linux__/jammy/latest" } - - { os: macOS-latest, r: '4.4', bioc: '3.19'} - - { os: windows-latest, r: '4.4', bioc: '3.19'} - ## Check https://github.com/r-lib/actions/tree/master/examples - ## for examples using the http-user-agent env: R_REMOTES_NO_ERRORS_FROM_WARNINGS: true - RSPM: ${{ matrix.config.rspm }} NOT_CRAN: true TZ: UTC GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -67,14 +105,6 @@ jobs: steps: - ## Set the R library to the directory matching the - ## R packages cache step further below when running on Docker (Linux). - - name: Set R Library home on Linux - if: runner.os == 'Linux' - run: | - mkdir /__w/_temp/Library - echo ".libPaths('/__w/_temp/Library')" > ~/.Rprofile - ## Most of these steps are the same as the ones in ## https://github.com/r-lib/actions/blob/master/examples/check-standard.yaml ## If they update their steps, we will also need to update ours. @@ -94,32 +124,38 @@ jobs: if: runner.os != 'Linux' uses: r-lib/actions/setup-pandoc@v2 - - name: Query dependencies + ## Create the path that will be used for caching packages on Linux + - name: Create R_LIBS_USER on Linux + if: runner.os == 'Linux' run: | - install.packages('remotes') - saveRDS(remotes::dev_package_deps(dependencies = TRUE), ".github/depends.Rds", version = 2) - shell: Rscript {0} + R_LIBS_USER=/__w/_temp/Library + echo "R_LIBS_USER=$R_LIBS_USER" >> "$GITHUB_ENV" + mkdir -p $R_LIBS_USER + ## Use cached R packages - name: Restore R package cache - if: "!contains(github.event.head_commit.message, '/nocache') && runner.os != 'Linux'" - uses: actions/cache@v3 + if: "!contains(github.event.head_commit.message, '/nocache')" + uses: actions/cache@v4 with: path: ${{ env.R_LIBS_USER }} - key: ${{ env.cache-version }}-${{ runner.os }}-biocversion-RELEASE_3_19-r-4.4-${{ hashFiles('.github/depends.Rds') }} - restore-keys: ${{ env.cache-version }}-${{ runner.os }}-biocversion-RELEASE_3_19-r-4.4- + key: ${{ matrix.config.os }}-${{ matrix.config.r }}-${{ matrix.config.bioc }}-${{ inputs.cache-version }} + restore-keys: ${{ matrix.config.os }}-${{ matrix.config.r }}-${{ matrix.config.bioc }}--${{ inputs.cache-version }} - - name: Cache R packages on Linux - if: "!contains(github.event.head_commit.message, '/nocache') && runner.os == 'Linux' " - uses: actions/cache@v3 - with: - path: /home/runner/work/_temp/Library - key: ${{ env.cache-version }}-${{ runner.os }}-biocversion-RELEASE_3_19-r-4.4-${{ hashFiles('.github/depends.Rds') }} - restore-keys: ${{ env.cache-version }}-${{ runner.os }}-biocversion-RELEASE_3_19-r-4.4- + ## remotes is needed for isntalling the Linux system dependencies + ## as well as other R packages later on. + - name: Install remotes + run: | + message(paste('****', Sys.time(), 'installing remotes ****')) + install.packages('remotes') + shell: Rscript {0} + + ## This will work again once https://github.com/r-lib/remotes/commit/0e4e23051041d9f1b15a5ab796defec31af6190d + ## makes it to the CRAN version of remotes # - name: Install Linux system dependencies # if: runner.os == 'Linux' # run: | - # sysreqs=$(Rscript -e 'cat("apt-get update -y && apt-get install -y", paste(gsub("apt-get install -y ", "", remotes::system_requirements("ubuntu", "20.04")), collapse = " "))') + # sysreqs=$(Rscript -e 'cat("apt-get update -y && apt-get install -y", paste(gsub("apt-get install -y ", "", remotes::system_requirements("ubuntu", "24.04")), collapse = " "))') # echo $sysreqs # sudo -s eval "$sysreqs" @@ -202,7 +238,7 @@ jobs: - name: Install pkgdown if: github.ref == 'refs/heads/devel' && env.run_pkgdown == 'true' && runner.os == 'Linux' run: | - remotes::install_cran("pkgdown") + remotes::install_github("r-lib/pkgdown") shell: Rscript {0} - name: Session info @@ -237,17 +273,17 @@ jobs: BiocGenerics:::testPackage() shell: Rscript {0} - # - name: Run BiocCheck - # env: - # DISPLAY: 99.0 - # run: | - # BiocCheck::BiocCheck( - # dir('check', 'tar.gz$', full.names = TRUE), - # `quit-with-status` = TRUE, - # `no-check-R-ver` = TRUE, - # `no-check-bioc-help` = TRUE - # ) - # shell: Rscript {0} + - name: Run BiocCheck + env: + DISPLAY: 99.0 + run: | + BiocCheck::BiocCheck( + dir('check', 'tar.gz$', full.names = TRUE), + `quit-with-status` = TRUE, + `no-check-R-ver` = TRUE, + `no-check-bioc-help` = TRUE + ) + shell: Rscript {0} - name: Test coverage if: github.ref == 'refs/heads/devel' && env.run_covr == 'true' && runner.os == 'Linux' @@ -285,7 +321,7 @@ jobs: if: failure() uses: actions/upload-artifact@master with: - name: ${{ runner.os }}-biocversion-RELEASE_3_19-r-4.4-results + name: ${{ runner.os }}-${{ matrix.config.r }}-${{ matrix.config.bioc }}-results path: check From a8fc00f931fce6b0e31ae58fede5f4488ff4e8e5 Mon Sep 17 00:00:00 2001 From: Lukas Weber Date: Wed, 7 May 2025 18:28:21 -0400 Subject: [PATCH 7/7] version --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 46aab29..15b96f4 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,5 +1,5 @@ Package: SpatialExperiment -Version: 1.19.0 +Version: 1.19.1 Title: S4 Class for Spatially Resolved -omics Data Description: Defines an S4 class for storing data from spatial -omics experiments. The class extends SingleCellExperiment to