Skip to content

Commit dc1e2ab

Browse files
committed
regroup test flows
1 parent 8939bf4 commit dc1e2ab

4 files changed

Lines changed: 69 additions & 58 deletions

File tree

‎.github/workflows/_armadillo-dsbase-shard.yaml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
with:
3434
path: dsBaseClient
3535

36-
- uses: ./.github/actions/setup-armadillo-with-dsbase
36+
- uses: ./dsBaseClient/.github/actions/setup-armadillo-with-dsbase
3737

3838
- name: Run dsBase tests with coverage & JUnit report
3939
run: |

‎.github/workflows/_opal-dsbase-shard.yaml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
with:
3434
path: dsBaseClient
3535

36-
- uses: ./.github/actions/setup-opal-with-dsbase
36+
- uses: ./dsBaseClient/.github/actions/setup-opal-with-dsbase
3737

3838
- name: Run dsBase tests with coverage & JUnit report
3939
run: |

‎.github/workflows/check.yaml‎

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: Check
2+
3+
on:
4+
push:
5+
workflow_dispatch:
6+
schedule:
7+
- cron: '0 0 * * 0' # Weekly
8+
- cron: '0 1 * * *' # Nightly
9+
10+
permissions:
11+
contents: read
12+
13+
jobs:
14+
check:
15+
name: Package checks (doc sync, R CMD check)
16+
runs-on: ubuntu-latest
17+
timeout-minutes: 30
18+
steps:
19+
- uses: actions/checkout@v4
20+
21+
- uses: r-lib/actions/setup-pandoc@v2
22+
23+
- uses: r-lib/actions/setup-r@v2
24+
with:
25+
r-version: release
26+
http-user-agent: release
27+
use-public-rspm: true
28+
29+
- name: Install system libraries
30+
run: |
31+
sudo apt-get update -qq
32+
sudo apt-get install -qq libxml2-dev libcurl4-openssl-dev libssl-dev libgsl-dev libgit2-dev -y
33+
sudo apt-get install -qq libharfbuzz-dev libfribidi-dev libmagick++-dev libudunits2-dev libuv1-dev -y
34+
35+
- uses: r-lib/actions/setup-r-dependencies@v2
36+
with:
37+
dependencies: 'c("Depends", "Imports", "LinkingTo")'
38+
extra-packages: |
39+
any::rcmdcheck
40+
cran::devtools
41+
cran::usethis
42+
github::datashield/dsDangerClient
43+
needs: check
44+
45+
- name: Check manual updated
46+
run: |
47+
orig_sum=$(find man -type f | sort -u | xargs cat | md5sum)
48+
R -q -e "devtools::document()"
49+
new_sum=$(find man -type f | sort -u | xargs cat | md5sum)
50+
if [ "$orig_sum" != "$new_sum" ]; then
51+
echo "Your committed man/*.Rd files are out of sync with the R headers."
52+
exit 1
53+
fi
54+
continue-on-error: true
55+
56+
- name: Devtools checks
57+
run: |
58+
R -q -e "devtools::check(args = c('--no-examples', '--no-tests'))" | tee azure-pipelines_check.Rout
59+
grep --quiet "^0 errors" azure-pipelines_check.Rout && grep --quiet " 0 warnings" azure-pipelines_check.Rout && grep --quiet " 0 notes" azure-pipelines_check.Rout
60+
continue-on-error: true

‎.github/workflows/dsBaseClient_test_suite.yaml‎

Lines changed: 7 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,12 @@
33
# DataSHIELD GHA test suite - dsBaseClient
44
# Replaces azure-pipelines.yml / opal_azure-pipelines.yml / armadillo_azure-pipelines.yml.
55
#
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+
#
611
# Structure (all jobs below run in parallel except where "needs" says otherwise):
7-
# r-checks - devtools::document()/check() sync checks. No backend needed.
812
# opal-dsbase-smk (matrix x2) \
913
# opal-dsbase-perf (matrix x3) } dsBase suite against Opal, one category
1014
# opal-dsbase-other (matrix x2) / group per job - see below.
@@ -73,59 +77,6 @@ env:
7377

7478
jobs:
7579

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-
12980
################################################################################
13081
# Opal - dsBase suite, sharded 4 ways. Each shard is a fully isolated job
13182
# with its own Opal instance.
@@ -200,7 +151,7 @@ jobs:
200151
with:
201152
path: dsBaseClient
202153

203-
- uses: ./.github/actions/setup-opal-with-dsbase
154+
- uses: ./dsBaseClient/.github/actions/setup-opal-with-dsbase
204155
with:
205156
dsbase-ref: v7.0-dev
206157

@@ -380,7 +331,7 @@ jobs:
380331
with:
381332
path: dsBaseClient
382333

383-
- uses: ./.github/actions/setup-armadillo-with-dsbase
334+
- uses: ./dsBaseClient/.github/actions/setup-armadillo-with-dsbase
384335

385336
- name: Install dsDangerClient
386337
run: |

0 commit comments

Comments
 (0)