Skip to content

Commit ba80f38

Browse files
Merge pull request datashield#553 from StuartWheater/v6.3.1-RC5-dev
Updates from RC5
2 parents 90052bb + f8fd8b0 commit ba80f38

189 files changed

Lines changed: 4124 additions & 4252 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.Rbuildignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,6 @@
1919
^docs$
2020
^dsBase_6.3.1.tar.gz$
2121
^dsBase_6.3.1-permissive.tar.gz$
22-
^dsDanger_6.3.0.tar.gz$
22+
^dsDanger_6.3.1.tar.gz$
23+
^\.circleci$
24+
^\.circleci/config\.yml$

.circleci/config.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Copyright (c) 2024 Arjuna Technologies, Newcastle upon Tyne. All rights reserved.
2+
3+
version: 2.1
4+
5+
jobs:
6+
dsbaseclient:
7+
docker:
8+
- image: cimg/base:current
9+
resource_class: small
10+
steps:
11+
- checkout
12+
- setup_remote_docker:
13+
docker_layout_caching: true
14+
- run: |
15+
echo "Building"
16+
echo " Repo Name: " $CIRCLE_PROJECT_REPONAME
17+
echo " Branch: " $CIRCLE_BRANCH
18+
echo " Tag: " $CIRCLE_TAG
19+
- run:
20+
command: |
21+
sudo apt-get update -y
22+
sudo apt-get install -y r-base-core cmake
23+
- run:
24+
command: |
25+
sudo apt-get install -y libxml2-dev
26+
sudo apt-get install -y libfontconfig1-dev
27+
sudo apt-get install -y libudunits2-dev
28+
sudo apt-get install -y libharfbuzz-dev
29+
sudo apt-get install -y libfribidi-dev
30+
sudo apt-get install -y libfreetype6-dev
31+
sudo apt-get install -y libpng-dev
32+
sudo apt-get install -y libtiff5-dev
33+
sudo apt-get install -y libjpeg-dev
34+
- run:
35+
command: |
36+
sudo Rscript -e "install.packages('fields', dependencies=TRUE)"
37+
sudo Rscript -e "install.packages('metafor', dependencies=TRUE)"
38+
sudo Rscript -e "install.packages('meta', dependencies=TRUE)"
39+
sudo Rscript -e "install.packages('ggplot2', dependencies=TRUE)"
40+
sudo Rscript -e "install.packages('gridExtra', dependencies=TRUE)"
41+
sudo Rscript -e "install.packages('data.table', dependencies=TRUE)"
42+
sudo Rscript -e "install.packages('panelaggregation', dependencies=TRUE)"
43+
sudo Rscript -e "install.packages('methods', dependencies=TRUE)"
44+
sudo Rscript -e "install.packages('dplyr', dependencies=TRUE)"
45+
- run:
46+
command: |
47+
sudo Rscript -e 'library(covr); covr::codecov(token = "'$CODECOV_TOKEN'", quiet=FALSE)'
48+
workflows:
49+
build:
50+
jobs:
51+
- dsbaseclient

DESCRIPTION

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
Package: dsBaseClient
22
Title: DataSHIELD Client Functions
3-
Version: 6.3.1.9000
3+
Version: 6.3.1
44
Author: DataSHIELD Developers <datashield@liverpool.ac.uk>
55
Maintainer: DataSHIELD Developers <datashield@liverpool.ac.uk>
66
Description: DataSHIELD client functions for the client side.
77
License: GPL-3
88
Depends:
9-
R (>= 3.5.0),
10-
DSI (>= 1.3.0)
9+
R (>= 4.0.0),
10+
DSI (>= 1.7.1)
1111
Imports:
1212
fields,
1313
metafor,
@@ -20,5 +20,5 @@ Imports:
2020
dplyr
2121
Suggests:
2222
testthat
23-
RoxygenNote: 7.3.1
23+
RoxygenNote: 7.3.2
2424
Encoding: UTF-8

R/ds.glm.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
#' The \code{data} argument avoids you having to specify the name of the
6464
#' data frame in front of each covariate in the formula.
6565
#' For example, if the data frame is called \code{DataFrame} you
66-
#' avoid having to write: \eqn{DataFrame$y~DataFrame$a+DataFrame$b+DataFrame$c+DataFrame$d}
66+
#' avoid having to write: \eqn{DataFrame\$y ~ DataFrame\$a + DataFrame\$b + DataFrame\$c + DataFrame\$d}
6767
#'
6868
#' The \code{checks} argument verifies that the variables in the model are all defined (exist)
6969
#' on the server-side at every study

R/ds.glmSLMA.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@
134134
#' The \code{dataName} argument avoids you having to specify the name of the
135135
#' data frame in front of each covariate in the formula.
136136
#' For example, if the data frame is called \code{DataFrame} you
137-
#' avoid having to write: \eqn{DataFrame$y~DataFrame$a+DataFrame$b+DataFrame$c+DataFrame$d}
137+
#' avoid having to write: \eqn{DataFrame\$y ~ DataFrame\$a + DataFrame\$b + DataFrame\$c + DataFrame\$d}
138138
#'
139139
#' The \code{checks} argument verifies that the variables in the model are all defined (exist)
140140
#' on the server-site at every study

R/ds.glmerSLMA.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
#' The \code{dataName} argument avoids you having to specify the name of the
3535
#' data frame in front of each covariate in the formula.
3636
#' For example, if the data frame is called \code{DataFrame} you avoid having to write:
37-
#' \eqn{DataFrame$y~DataFrame$a+DataFrame$b+(1|DataFrame$c)}.
37+
#' \eqn{DataFrame\$y ~ DataFrame\$a + DataFrame\$b + (1 | DataFrame\$c)}.
3838
#'
3939
#' The \code{checks} argument verifies that the variables in the model are all defined (exist)
4040
#' on the server-site at every study

R/ds.lmerSLMA.R

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,20 @@
1818
#'
1919
#' In \code{formula} most shortcut notation allowed by \code{lmer()} function is
2020
#' also allowed by \code{ds.lmerSLMA}. Many LMEs can be fitted very simply using a formula like:
21-
#' \deqn{y~a+b+(1|c)}
21+
#' \deqn{y ~ a + b + (1 | c)}
2222
#' which simply means fit an LME with \code{y} as the outcome variable with \code{a} and \code{b}
2323
#' as fixed effects, and \code{c} as a random effect or grouping factor.
2424
#'
2525
#' It is also possible to fit models with random slopes by specifying a model such as
26-
#' \deqn{y~a+b+(1+b|c)}
26+
#' \deqn{y ~ a + b + (1 + b | c)}
2727
#' where the effect of \code{b} can vary randomly between groups defined by \code{c}.
28-
#' Implicit nesting can be specified with formulae such as \eqn{y~a+b+(1|c/d)}
29-
#' or \eqn{y~a+b+(1|c)+(1|c:d)}.
28+
#' Implicit nesting can be specified with formulae such as \eqn{y ~ a + b + (1 | c / d)}
29+
#' or \eqn{y ~ a + b + (1 | c) + (1 | c : d)}.
3030
#'
3131
#' The \code{dataName} argument avoids you having to specify the name of the
3232
#' data frame in front of each covariate in the formula.
3333
#' For example, if the data frame is called \code{DataFrame} you avoid having to write:
34-
#' \eqn{DataFrame$y~DataFrame$a+DataFrame$b+(1|DataFrame$c)}.
34+
#' \eqn{DataFrame\$y ~ DataFrame\$a + DataFrame\$b + (1 | DataFrame\$c)}.
3535
#'
3636
#' The \code{checks} argument verifies that the variables in the model are all defined (exist)
3737
#' on the server-site at every study
@@ -192,7 +192,7 @@
192192
#'
193193
#' # Fit the lmer
194194
#'
195-
#' ds.lmerSLMA(formula = "BMI ~ incid_rate + diabetes + (1 | Male)",
195+
#' ds.lmerSLMA(formula = "BMI ~ incid_rate + diabetes + (1 | Male)",
196196
#' dataName = "D.comp",
197197
#' datasources = connections)
198198
#'

README.md

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,6 @@ dsBaseClient
33

44
DataSHIELD client side base R library.
55

6-
| Branch | dsBase status | dsBase tests | dsBaseClient status | dsBaseClient tests |
7-
| -------- | ------------- | ------------ | ------------------- | ------------------ |
8-
| Master | [![Build Status](https://dev.azure.com/datashield-testing/datashield/_apis/build/status/datashield.dsBase?branchName=master)](https://dev.azure.com/datashield-testing/datashield/_build/latest?definitionId=3&branchName=master) | | [![Build Status](https://dev.azure.com/datashield-testing/datashield/_apis/build/status/datashield.dsBaseClient?branchName=master)](https://dev.azure.com/datashield-testing/datashield/_build/latest?definitionId=1&branchName=master) | [Tests](https://datashield.github.io/testStatus/dsBaseClient/master/latest/) |
9-
| 6.0 | [![Build Status](https://dev.azure.com/datashield-testing/datashield/_apis/build/status/datashield.dsBase?branchName=v6.0)](https://dev.azure.com/datashield-testing/datashield/_build/latest?definitionId=3&branchName=v6.0) | | [![Build Status](https://dev.azure.com/datashield-testing/datashield/_apis/build/status/datashield.dsBaseClient?branchName=v6.0)](https://dev.azure.com/datashield-testing/datashield/_build/latest?definitionId=1&branchName=v6.0) | [Tests](https://datashield.github.io/testStatus/dsBaseClient/v6.0/latest/) |
10-
| 6.0.1 | [![Build Status](https://dev.azure.com/datashield-testing/datashield/_apis/build/status/datashield.dsBase?branchName=v6.0.1)](https://dev.azure.com/datashield-testing/datashield/_build/latest?definitionId=3&branchName=v6.0.1) | | [![Build Status](https://dev.azure.com/datashield-testing/datashield/_apis/build/status/datashield.dsBaseClient?branchName=v6.0.1)](https://dev.azure.com/datashield-testing/datashield/_build/latest?definitionId=1&branchName=v6.0.1) | [Tests](https://datashield.github.io/testStatus/dsBaseClient/v6.0.1/latest/) |
11-
| 6.1 | [![Build Status](https://dev.azure.com/datashield-testing/datashield/_apis/build/status/datashield.dsBase?branchName=v6.1)](https://dev.azure.com/datashield-testing/datashield/_build/latest?definitionId=3&branchName=v6.1) | [Tests](https://datashield.github.io/testStatus/dsBase/v6.1/latest/) | [![Build Status](https://dev.azure.com/datashield-testing/datashield/_apis/build/status/datashield.dsBaseClient?branchName=v6.1)](https://dev.azure.com/datashield-testing/datashield/_build/latest?definitionId=1&branchName=v6.1) | [Tests](https://datashield.github.io/testStatus/dsBaseClient/v6.1/latest/) |
12-
| 6.1.1 | [![Build Status](https://dev.azure.com/datashield-testing/datashield/_apis/build/status/datashield.dsBase?branchName=v6.1.1)](https://dev.azure.com/datashield-testing/datashield/_build/latest?definitionId=3&branchName=v6.1.1) | [Tests](https://datashield.github.io/testStatus/dsBase/v6.1.1/latest/) | [![Build Status](https://dev.azure.com/datashield-testing/datashield/_apis/build/status/datashield.dsBaseClient?branchName=v6.1.1)](https://dev.azure.com/datashield-testing/datashield/_build/latest?definitionId=1&branchName=v6.1.1) | [Tests](https://datashield.github.io/testStatus/dsBaseClient/v6.1.1/latest/) |
13-
| 6.2 | [![Build Status](https://dev.azure.com/datashield-testing/datashield/_apis/build/status/datashield.dsBase?branchName=v6.2)](https://dev.azure.com/datashield-testing/datashield/_build/latest?definitionId=3&branchName=v6.2) | [Tests](https://datashield.github.io/testStatus/dsBase/v6.2/latest/) | [![Build Status](https://dev.azure.com/datashield-testing/datashield/_apis/build/status/datashield.dsBaseClient?branchName=v6.2)](https://dev.azure.com/datashield-testing/datashield/_build/latest?definitionId=1&branchName=v6.2) | [Tests](https://datashield.github.io/testStatus/dsBaseClient/v6.2/latest/) |
14-
15-
166
[![License](https://img.shields.io/badge/license-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0.html)
177

188
About

armadillo_azure-pipelines.yml

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ jobs:
7171
- job: build_and_run_tests
7272
timeoutInMinutes: 360
7373
pool:
74-
vmImage: ubuntu-22.04
74+
vmImage: ubuntu-24.04
7575

7676
steps:
7777
#####################################################################################
@@ -125,11 +125,11 @@ jobs:
125125
# Install R and all the dependencies dsBaseClient requires.
126126
# If previous steps have failed then don't run.
127127
- bash: |
128-
129-
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
130-
sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/"
131-
sudo add-apt-repository ppa:cran/libgit2
132-
sudo apt-get update
128+
sudo apt-get install --no-install-recommends software-properties-common dirmngr
129+
wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
130+
sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"
131+
sudo apt-get update -qq
132+
sudo apt-get upgrade -y
133133
134134
sudo apt-get install -qq libxml2-dev libcurl4-openssl-dev libssl-dev libgsl-dev libgit2-dev r-base -y
135135
sudo apt-get install -qq libharfbuzz-dev libfribidi-dev libmagick++-dev -y
@@ -139,7 +139,7 @@ jobs:
139139
sudo R -q -e "install.packages(c('MolgenisAuth', 'MolgenisArmadillo', 'DSMolgenisArmadillo'), dependencies=TRUE, repos='https://cloud.r-project.org')"
140140
sudo R -q -e "install.packages(c('DescTools','e1071'), dependencies=TRUE, repos='https://cloud.r-project.org')"
141141
142-
sudo R -q -e "library('devtools'); devtools::install_github(repo='datashield/dsDangerClient', ref='v6.3.0-dev', dependencies = TRUE)"
142+
sudo R -q -e "library('devtools'); devtools::install_github(repo='datashield/dsDangerClient', ref='6.3.1', dependencies = TRUE)"
143143
144144
# XML grep for coverage report merging
145145
sudo apt-get install -qq xml-twig-tools -y
@@ -273,7 +273,7 @@ jobs:
273273
# junit reporter output is to test_results.xml
274274
#
275275
# "_-|arg-|smk-|datachk-|disc-|math-|expt-|expt_smk-"
276-
# testthat::test_package("$(projectName)", filter = "_-|datachk-|smk-|arg-|disc-|smk_expt-|expt-|math-", reporter = multi_rep, stop_on_failure = FALSE)
276+
# testthat::test_package("$(projectName)", filter = "_-|datachk-|smk-|arg-|disc-|perf-|smk_expt-|expt-|math-", reporter = multi_rep, stop_on_failure = FALSE)
277277
sudo R -q -e '
278278
library(covr);
279279
dsbase.res <- covr::package_coverage(
@@ -288,8 +288,9 @@ jobs:
288288
junit_rep <- JunitReporter$new(file = "test_results_dsbase.xml");
289289
progress_rep <- ProgressReporter$new(max_failures = 999999);
290290
multi_rep <- MultiReporter$new(reporters = list(progress_rep, junit_rep));
291+
options("datashield.return_errors" = FALSE);
291292
options("default_driver" = "ArmadilloDriver");
292-
testthat::test_package("$(projectName)", filter = "_-|datachk-|smk-|arg-|disc-|smk_expt-|expt-|math-", reporter = multi_rep, stop_on_failure = FALSE)
293+
testthat::test_package("$(projectName)", filter = "_-|datachk-|smk-|arg-|disc-|perf-|smk_expt-|expt-|math-", reporter = multi_rep, stop_on_failure = FALSE)
293294
'"'"'
294295
)
295296
);
@@ -409,6 +410,7 @@ jobs:
409410
junit_rep <- JunitReporter$new(file = "test_results_dsdanger.xml");
410411
progress_rep <- ProgressReporter$new(max_failures = 999999);
411412
multi_rep <- MultiReporter$new(reporters = list(progress_rep, junit_rep));
413+
options("datashield.return_errors" = FALSE);
412414
options("default_driver" = "ArmadilloDriver");
413415
testthat::test_package("$(projectName)", filter = "__dgr-|datachk_dgr-|smk_dgr-|arg_dgr-|disc_dgr-|smk_expt_dgr-|expt_dgr-|math_dgr-", reporter = multi_rep, stop_on_failure = FALSE)
414416
'"'"'

azure-pipelines.yml

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ jobs:
7171
- job: build_and_run_tests
7272
timeoutInMinutes: 360
7373
pool:
74-
vmImage: ubuntu-22.04
74+
vmImage: ubuntu-24.04
7575

7676
steps:
7777
#####################################################################################
@@ -125,11 +125,11 @@ jobs:
125125
# Install R and all the dependencies dsBaseClient requires.
126126
# If previous steps have failed then don't run.
127127
- bash: |
128-
129-
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
130-
sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/"
131-
sudo add-apt-repository ppa:cran/libgit2
132-
sudo apt-get update
128+
sudo apt-get install --no-install-recommends software-properties-common dirmngr
129+
wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
130+
sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"
131+
sudo apt-get update -qq
132+
sudo apt-get upgrade -y
133133
134134
sudo apt-get install -qq libxml2-dev libcurl4-openssl-dev libssl-dev libgsl-dev libgit2-dev r-base -y
135135
sudo apt-get install -qq libharfbuzz-dev libfribidi-dev libmagick++-dev -y
@@ -139,7 +139,7 @@ jobs:
139139
sudo R -q -e "install.packages(c('MolgenisAuth', 'MolgenisArmadillo', 'DSMolgenisArmadillo'), dependencies=TRUE, repos='https://cloud.r-project.org')"
140140
sudo R -q -e "install.packages(c('DescTools','e1071'), dependencies=TRUE, repos='https://cloud.r-project.org')"
141141
142-
sudo R -q -e "library('devtools'); devtools::install_github(repo='datashield/dsDangerClient', ref='v6.3.0-dev', dependencies = TRUE)"
142+
sudo R -q -e "library('devtools'); devtools::install_github(repo='datashield/dsDangerClient', ref='6.3.1', dependencies = TRUE)"
143143
144144
# XML grep for coverage report merging
145145
sudo apt-get install -qq xml-twig-tools -y
@@ -232,7 +232,7 @@ jobs:
232232
# Install dsBase.
233233
# If previous steps have failed then don't run.
234234
- bash: |
235-
R -q -e "library(opalr); opal <- opal.login('administrator','datashield_test&', url='https://localhost:8443/', opts = list(ssl_verifyhost=0, ssl_verifypeer=0)); dsadmin.install_github_package(opal, 'dsBase', username = 'datashield', ref = 'v6.3.1-dev'); opal.logout(opal)"
235+
R -q -e "library(opalr); opal <- opal.login('administrator','datashield_test&', url='https://localhost:8443/', opts = list(ssl_verifyhost=0, ssl_verifypeer=0)); dsadmin.install_github_package(opal, 'dsBase', username = 'datashield', ref = '6.3.1'); opal.logout(opal)"
236236
237237
sleep 120
238238
@@ -268,7 +268,7 @@ jobs:
268268
# junit reporter output is to test_results.xml
269269
#
270270
# "_-|arg-|smk-|datachk-|disc-|math-|expt-|expt_smk-"
271-
# testthat::test_package("$(projectName)", filter = "_-|datachk-|smk-|arg-|disc-|smk_expt-|expt-|math-", reporter = multi_rep, stop_on_failure = FALSE)
271+
# testthat::test_package("$(projectName)", filter = "_-|datachk-|smk-|arg-|disc-|perf-|smk_expt-|expt-|math-", reporter = multi_rep, stop_on_failure = FALSE)
272272
sudo R -q -e '
273273
library(covr);
274274
dsbase.res <- covr::package_coverage(
@@ -283,8 +283,9 @@ jobs:
283283
junit_rep <- JunitReporter$new(file = "test_results_dsbase.xml");
284284
progress_rep <- ProgressReporter$new(max_failures = 999999);
285285
multi_rep <- MultiReporter$new(reporters = list(progress_rep, junit_rep));
286+
options("datashield.return_errors" = FALSE);
286287
options("default_driver" = "OpalDriver");
287-
testthat::test_package("$(projectName)", filter = "_-|datachk-|smk-|arg-|disc-|smk_expt-|expt-|math-", reporter = multi_rep, stop_on_failure = FALSE)
288+
testthat::test_package("$(projectName)", filter = "_-|datachk-|smk-|arg-|disc-|perf-|smk_expt-|expt-|math-", reporter = multi_rep, stop_on_failure = FALSE)
288289
'"'"'
289290
)
290291
);
@@ -357,7 +358,7 @@ jobs:
357358
# If previous steps have failed then don't run
358359
- bash: |
359360
360-
R -q -e "library(opalr); opal <- opal.login('administrator','datashield_test&', url='https://localhost:8443/', opts = list(ssl_verifyhost=0, ssl_verifypeer=0)); dsadmin.install_github_package(opal, 'dsDanger', username = 'datashield', ref = 'v6.3.0-dev'); opal.logout(opal)"
361+
R -q -e "library(opalr); opal <- opal.login('administrator','datashield_test&', url='https://localhost:8443/', opts = list(ssl_verifyhost=0, ssl_verifypeer=0)); dsadmin.install_github_package(opal, 'dsDanger', username = 'datashield', ref = '6.3.1'); opal.logout(opal)"
361362
362363
workingDirectory: $(Pipeline.Workspace)/dsBaseClient
363364
displayName: 'Install dsDanger package on Opal server'
@@ -396,6 +397,7 @@ jobs:
396397
junit_rep <- JunitReporter$new(file = "test_results_dsdanger.xml");
397398
progress_rep <- ProgressReporter$new(max_failures = 999999);
398399
multi_rep <- MultiReporter$new(reporters = list(progress_rep, junit_rep));
400+
options("datashield.return_errors" = FALSE);
399401
options("default_driver" = "OpalDriver");
400402
testthat::test_package("$(projectName)", filter = "__dgr-|datachk_dgr-|smk_dgr-|arg_dgr-|disc_dgr-|smk_expt_dgr-|expt_dgr-|math_dgr-", reporter = multi_rep, stop_on_failure = FALSE)
401403
'"'"'

0 commit comments

Comments
 (0)