-
Notifications
You must be signed in to change notification settings - Fork 1
/
pull_request_template
79 lines (68 loc) · 2.48 KB
/
pull_request_template
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
## Checklist for developing new functions
- [ ] Write clientside function
- [ ] Write serverside function
- [ ] Evaluate whether additional disclosure checks are required, and if so write them
- [ ] Update .circleci/config.yml so that CI installs 'molgenis/tidyverse' from corresponding branch
- [ ] Add serverside function to inst/DATASHIELD file
- [ ] On clientside package run `devtools::check()`. Review and fix any broken tests.
- [ ] On serverside package run `devtools::check()`. Review and fix any broken tests.
- [ ] Add new clientside tests to 'tests/testthat'
- [ ] Add new serverside tests to 'tests/testthat'
- [ ] Update clientside README.md to list function as included
- [ ] Update clientside vignette with example(s) of new function use
- [ ] Check clientside function documentation is correct and complete
- [ ] Check serverside function documentation is correct and complete
- [ ] On clientside package run `devtools::check()` and `devtools::build_site()`
- [ ] On serverside package run `devtools::check()` and `devtools::build_site()`
## How to test
- [ ] Pull feat/bind-cols branch from molgenis/dsTidyverseClient
- [ ] Pull feat/bind-cols branch from molgenis/dsTidyverse
- [ ] Run: `devtools::load_all(path-to-clientside-package)`
- [ ] Start Armadillo on localhost
- [ ] Start xenon profile
- [ ] Install package on server:
```
devtools::build(path-to-serverside-package)
local_url <- "http://localhost:8080"
armadillo.login(local_url)
armadillo.install_packages(path-to-built-serverside-package, profile = "xenon")
```
- [ ] Upload test data:
```
data("mtcars")
armadillo.create_project("tidyverse")
armadillo.upload_table("tidyverse", "data", mtcars)
```
- [ ] Log in and assign data:
```
token <- armadillo.get_token(local_url)
builder <- newDSLoginBuilder()
builder$append(
url = local_url,
server = "cohort_1",
token = token,
driver = "ArmadilloDriver",
profile = "xenon")
builder$append(
url = local_url,
server = "cohort_2",
token = token,
driver = "ArmadilloDriver",
profile = "xenon")
builder$append(
url = local_url,
server = "cohort_3",
token = token,
driver = "ArmadilloDriver",
profile = "xenon")
logindata <- builder$build()
conns <- datashield.login(logins = logindata, assign = FALSE)
datashield.assign(
symbol = "mtcars",
value = "tidyverse/data/mtcars",
conns = conns)
```
- [ ] Run the test lines for `tests/testthat/[new-function].R` Ignore the setting up a DSLite environment.
In addition:
- [ ] run `devtools::check()
- [ ] read vignette