[c++] Reindexer overrides and fast COO/CSR #3465
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 }} | |
jobs: | |
ci: | |
strategy: | |
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: Bootstrap | |
run: cd apis/r && tools/r-ci.sh bootstrap | |
- name: Install BioConductor package SingleCellExperiment | |
run: cd apis/r && tools/r-ci.sh install_bioc SingleCellExperiment | |
# The next two stanzas are necessary given propagation delay for binaries at | |
# https://r2u.stat.illinois.edu/ which may lack binaries (for short periods of usually a day) | |
# when sources have been updated. The default installation could switch to installation from | |
# sources --- but that would require installing all build dependencies. To see what the most | |
# recent binary is run e.g. docker run --rm -ti rocker/r2u bash -c 'apt update -qq && | |
# apt-cache show r-cran-tiledb' Using the r-universe builds (as below) is a suitable fallback | |
# as they update more frequently than CRAN. | |
# Uncomment these next two stanzas as needed whenever we've just released a new tiledb-r for | |
# which source is available but binaries are not yet: | |
#- 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://eddelbuettel.r-universe.dev', 'https://cloud.r-project.org'))" | |
# docker run --rm -ti rocker/r2u Rscript -e 'install.packages("tiledb")' | |
#- 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://eddelbuettel.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: 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)' | |
- name: Test | |
if: ${{ matrix.covr == 'no' }} | |
run: cd apis/r && tools/r-ci.sh run_tests | |
- name: View Install Output | |
run: cat $HOME/work/TileDB-SOMA/TileDB-SOMA/apis/r/tiledbsoma.Rcheck/00install.out | |
if: failure() | |
- name: View Test Output | |
run: cat $HOME/work/TileDB-SOMA/TileDB-SOMA/apis/r/tiledbsoma.Rcheck/00check.log | |
if: failure() | |
- name: Coverage | |
if: ${{ matrix.os == 'ubuntu-latest' && matrix.covr == 'yes' }} | |
run: cd apis/r && tools/r-ci.sh coverage |