|
3 | 3 | # DataSHIELD GHA test suite - dsBaseClient |
4 | 4 | # Replaces azure-pipelines.yml / opal_azure-pipelines.yml / armadillo_azure-pipelines.yml. |
5 | 5 | # |
| 6 | +# This is one of three separate workflow files, each its own named check on a |
| 7 | +# PR/run: this one (all the actual test execution), check.yaml (doc-sync + |
| 8 | +# R CMD check), lint.yaml (lintr). Split so each shows as its own category |
| 9 | +# rather than one graph mixing test execution with static checks. |
| 10 | +# |
6 | 11 | # Structure (all jobs below run in parallel except where "needs" says otherwise): |
7 | | -# r-checks - devtools::document()/check() sync checks. No backend needed. |
8 | 12 | # opal-dsbase-smk (matrix x2) \ |
9 | 13 | # opal-dsbase-perf (matrix x3) } dsBase suite against Opal, one category |
10 | 14 | # opal-dsbase-other (matrix x2) / group per job - see below. |
|
73 | 77 |
|
74 | 78 | jobs: |
75 | 79 |
|
76 | | - ################################################################################ |
77 | | - # Doc-sync / R CMD check - no backend needed, so this runs once, not per |
78 | | - # backend or per shard. |
79 | | - ################################################################################ |
80 | | - r-checks: |
81 | | - name: Package checks (doc sync, R CMD check) |
82 | | - runs-on: ubuntu-latest |
83 | | - timeout-minutes: 30 |
84 | | - steps: |
85 | | - - uses: actions/checkout@v4 |
86 | | - |
87 | | - - uses: r-lib/actions/setup-pandoc@v2 |
88 | | - |
89 | | - - uses: r-lib/actions/setup-r@v2 |
90 | | - with: |
91 | | - r-version: release |
92 | | - http-user-agent: release |
93 | | - use-public-rspm: true |
94 | | - |
95 | | - - name: Install system libraries |
96 | | - run: | |
97 | | - sudo apt-get update -qq |
98 | | - sudo apt-get install -qq libxml2-dev libcurl4-openssl-dev libssl-dev libgsl-dev libgit2-dev -y |
99 | | - sudo apt-get install -qq libharfbuzz-dev libfribidi-dev libmagick++-dev libudunits2-dev libuv1-dev -y |
100 | | -
|
101 | | - - uses: r-lib/actions/setup-r-dependencies@v2 |
102 | | - with: |
103 | | - dependencies: 'c("Depends", "Imports", "LinkingTo")' |
104 | | - extra-packages: | |
105 | | - any::rcmdcheck |
106 | | - cran::devtools |
107 | | - cran::usethis |
108 | | - github::datashield/dsDangerClient |
109 | | - needs: check |
110 | | - |
111 | | - - name: Check manual updated |
112 | | - run: | |
113 | | - orig_sum=$(find man -type f | sort -u | xargs cat | md5sum) |
114 | | - R -q -e "devtools::document()" |
115 | | - new_sum=$(find man -type f | sort -u | xargs cat | md5sum) |
116 | | - if [ "$orig_sum" != "$new_sum" ]; then |
117 | | - echo "Your committed man/*.Rd files are out of sync with the R headers." |
118 | | - exit 1 |
119 | | - fi |
120 | | - continue-on-error: true |
121 | | - |
122 | | - - name: Devtools checks |
123 | | - run: | |
124 | | - R -q -e "devtools::check(args = c('--no-examples', '--no-tests'))" | tee azure-pipelines_check.Rout |
125 | | - grep --quiet "^0 errors" azure-pipelines_check.Rout && grep --quiet " 0 warnings" azure-pipelines_check.Rout && grep --quiet " 0 notes" azure-pipelines_check.Rout |
126 | | - continue-on-error: true |
127 | | - |
128 | | - |
129 | 80 | ################################################################################ |
130 | 81 | # Opal - dsBase suite, sharded 4 ways. Each shard is a fully isolated job |
131 | 82 | # with its own Opal instance. |
@@ -200,7 +151,7 @@ jobs: |
200 | 151 | with: |
201 | 152 | path: dsBaseClient |
202 | 153 |
|
203 | | - - uses: ./.github/actions/setup-opal-with-dsbase |
| 154 | + - uses: ./dsBaseClient/.github/actions/setup-opal-with-dsbase |
204 | 155 | with: |
205 | 156 | dsbase-ref: v7.0-dev |
206 | 157 |
|
@@ -380,7 +331,7 @@ jobs: |
380 | 331 | with: |
381 | 332 | path: dsBaseClient |
382 | 333 |
|
383 | | - - uses: ./.github/actions/setup-armadillo-with-dsbase |
| 334 | + - uses: ./dsBaseClient/.github/actions/setup-armadillo-with-dsbase |
384 | 335 |
|
385 | 336 | - name: Install dsDangerClient |
386 | 337 | run: | |
|
0 commit comments