[r] Use lower and upper pin bounds on tiledb-r
for release-1.9
branch
#4892
Workflow file for this run
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
name: TileDB-SOMA R CI | |
on: | |
pull_request: | |
paths-ignore: | |
- "apis/python/**" | |
- ".pre-commit-config.yaml" | |
push: | |
branches: | |
- main | |
- 'release-*' | |
workflow_dispatch: | |
env: | |
COVERAGE_FLAGS: "r" | |
COVERAGE_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
_R_CHECK_TESTS_NLINES_: 0 | |
CATCHSEGV: "TRUE" | |
jobs: | |
ci: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- name: linux | |
os: ubuntu-latest | |
covr: 'no' | |
- name: macos | |
os: macOS-latest | |
covr: 'no' | |
- name: coverage | |
os: ubuntu-latest | |
covr: 'yes' | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Show matrix OS | |
run: echo "matrix.os:" ${{ matrix.os }} | |
- name: Linux CPU info | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
run: cat /proc/cpuinfo | |
- name: MacOS CPU info | |
if: ${{ matrix.os == 'macOS-latest' }} | |
run: sysctl -a | grep cpu | |
- name: Bootstrap | |
run: cd apis/r && tools/r-ci.sh bootstrap | |
- name: Set pkgType to binary (macOS) | |
if: ${{ matrix.os == 'macOS-latest' }} | |
run: cat("\noptions(pkgType = 'binary')\n", file = "~/.Rprofile", append = TRUE) | |
shell: Rscript {0} | |
- name: Install BioConductor package SingleCellExperiment | |
run: cd apis/r && tools/r-ci.sh install_bioc SingleCellExperiment | |
# Please see https://github.com/single-cell-data/TileDB-SOMA/wiki/Branches-and-releases which | |
# is crucial for anyone doing releases of TileDB-SOMA. | |
# | |
# As documented there, we have a cadence for updating tiledb-inc.r-universe.dev. | |
# | |
# Please also see https://github.com/single-cell-data/TileDB-SOMA/issues/2447 regarding R CI YAML. | |
# | |
# Please also see https://github.com/single-cell-data/TileDB-SOMA/issues/2406 regarding | |
# our upcoming elimination of TileDB-SOMA's dependency on TileDB-R entirely. | |
# | |
# Do not remove these comments until such time as we have eliminated our dependency on | |
# the TileDB-R package. | |
- name: Install r-universe build of tiledb-r (macOS) | |
if: ${{ matrix.os == 'macOS-latest' }} | |
run: cd apis/r && Rscript -e "install.packages('tiledb', repos = c('https://tiledb-inc.r-universe.dev', 'https://cloud.r-project.org'))" | |
- name: Install r-universe build of tiledb-r (linux) | |
if: ${{ matrix.os != 'macOS-latest' }} | |
run: cd apis/r && Rscript -e "options(bspm.version.check=TRUE); install.packages('tiledb', repos = c('https://tiledb-inc.r-universe.dev/bin/linux/jammy/4.3/', 'https://cloud.r-project.org'))" | |
- name: Dependencies | |
run: cd apis/r && tools/r-ci.sh install_all | |
- name: Install dataset packages from source (macOS) | |
if: ${{ matrix.os == 'macOS-latest' }} | |
run: cd apis/r && _CI_PKG_TYPE_=both _CI_USE_BIOC_=true Rscript tools/install_missing_deps.R | |
- name: CMake | |
uses: lukka/get-cmake@latest | |
#- name: MkVars | |
# run: mkdir ~/.R && echo "CXX17FLAGS=-Wno-deprecated-declarations -Wno-deprecated" > ~/.R/Makevars | |
#- name: Build and install libtiledbsoma | |
# run: sudo scripts/bld --prefix=/usr/local | |
#- name: Call ldconfig | |
# if: ${{ matrix.os == 'ubuntu-latest' }} | |
# run: sudo ldconfig | |
# | |
- name: Update Packages | |
run: Rscript -e 'update.packages(ask=FALSE)' | |
# WIP (NOT READY FOR REVIEW) -- LOOKING FOR GREEN CI | |
#- name: Install 0.25 build of tiledb-r with core 2.21 | |
# run: | | |
# cd apis/r | |
# wget https://github.com/TileDB-Inc/TileDB-R/archive/refs/tags/0.25.0.tar.gz | |
# Rscript -e 'remotes::install_deps("0.25.0.tar.gz")' | |
# R CMD INSTALL 0.25.0.tar.gz # as 0.25.0 is needed by TileDB-SOMA 1.9 | |
# WIP (NOT READY FOR REVIEW) -- LOOKING FOR GREEN CI | |
#- name: Re-install 0.25 build of tiledb-r with core 2.21 | |
# run: | | |
# cd apis/r | |
# wget https://github.com/TileDB-Inc/TileDB-R/archive/refs/tags/0.25.0.tar.gz | |
# Rscript -e 'remotes::install_deps("0.25.0.tar.gz")' | |
# R CMD INSTALL 0.25.0.tar.gz # as 0.25.0 is needed by SOMA 1.9 | |
# - name: Build Package | |
# run: cd apis/r && R CMD build --no-build-vignettes --no-manual . | |
# - name: Install Package | |
# run: cd apis/r && R CMD INSTALL $(ls -1tr *.tar.gz | tail -1) | |
# - name: Diagnostics | |
# run: Rscript -e 'print(Sys.info())' | |
# - name: Downgrade TileDB-R if needed | |
# run: cd apis/r && Rscript tools/controlled_downgrade.R | |
- name: Test | |
if: ${{ matrix.covr == 'no' }} | |
run: cd apis/r && tools/r-ci.sh run_tests | |
- name: Coverage | |
if: ${{ matrix.os == 'ubuntu-latest' && matrix.covr == 'yes' }} | |
run: apis/r/tools/r-ci.sh coverage | |
- name: View Logs | |
run: apis/r/tools/r-ci.sh dump_logs | |
if: failure() |