-
Notifications
You must be signed in to change notification settings - Fork 25
119 lines (91 loc) · 3.79 KB
/
r-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
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: Install BioConductor package SingleCellExperiment
run: cd apis/r && tools/r-ci.sh install_bioc SingleCellExperiment
# Uncomment these next two stanzas as needed whenever we've just released a new tiledb-r for
# which source is available but CRAN releases (and hence update r2u 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'))"
- 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: Install r-universe build of SeuratObject (macOS)
if: ${{ matrix.os == 'macOS-latest' }}
run: cd apis/r && Rscript -e "install.packages('SeuratObject', repos = c('https://mojaveazure.r-universe.dev', 'https://cloud.r-project.org'))"
- name: Install r-universe build of SeuratObject (linux)
if: ${{ matrix.os == 'ubuntu-latest' }}
run: cd apis/r && Rscript -e "options(bspm.version.check=TRUE); install.packages('SeuratObject', repos = c('https://mojaveazure.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: 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()