Skip to content

Commit 44919b7

Browse files
RC 0.2.3 (#74)
* Set the minimum version of the {pak} package to 0.6.0. Parameterize the sysreqs_platform used to find system dependencies in pkg_sysreqs * Update NEWS.md * Update DESCRIPTION * update news and README * skip test on r-devel (even on linux...)
1 parent 5ef486d commit 44919b7

11 files changed

+74
-37
lines changed

DESCRIPTION

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Package: dockerfiler
22
Title: Easy Dockerfile Creation from R
3-
Version: 0.2.2.9003
3+
Version: 0.2.3
44
Authors@R: c(
55
person("Colin", "Fay", , "[email protected]", role = c("cre", "aut"),
66
comment = c(ORCID = "0000-0001-7343-1846")),
@@ -25,12 +25,11 @@ Imports:
2525
glue (>= 1.4.2),
2626
jsonlite (>= 1.7.2),
2727
memoise,
28-
pak (>= 0.2.0),
28+
pak (>= 0.6.0),
2929
pkgbuild (>= 1.2.0),
3030
purrr,
3131
R6 (>= 2.5.0),
3232
remotes (>= 2.2.0),
33-
renv,
3433
usethis (>= 2.0.1),
3534
utils
3635
Suggests:

NEWS.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
1-
# 0.2.2.xxxx
1+
# dockerfile 0.2.3
22

33
- remove sysreqs.r-hub.io to use {pak} instead for system requirement detection
44
- move from `pak::pkg_system_requirements` to `pak::pkg_sysreqs()` thanks to @B0ydT
55
- `dock_from_renv` allow to specify user to use in Dockerfile
66
- the `dependencies` parameter in `dock_from_renv` if set to `TRUE` will install required dependencies plus optional and development dependencies. defaut is `NA` only required (hard) dependencies,
7+
- Set the minimum version of the {pak} package to 0.6.0.
8+
- Parameterize the `sysreqs_platform` used to find system dependencies in pkg_sysreqs (only debian/ubuntu based images are supported)
79

8-
# dockerfile 0.2.2
10+
11+
# dockerfiler 0.2.2
912

1013
- fix : create a `use_pak` parameters in `dock_from_renv` to set `renv.config.pak.enabled = FALSE` instead of `renv.config.pak.enabled = TRUE` to avoid issues with {pak} during `renv::restore()`
1114

@@ -22,7 +25,7 @@
2225
- feat: Added `renv_version` parameter to `dock_from_renv` to be able to fix the renv version to use during `renv::restore()` (@campbead)
2326

2427

25-
# dockerfile 0.2.0
28+
# dockerfiler 0.2.0
2629

2730
- fix: graceful failing in case no internet
2831

R/dock_from_renv.R

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ pkg_sysreqs_mem <- memoise::memoise(
3131
#' dependencies,
3232
#' - `FALSE`: do not install any dependencies. (You might end up with a
3333
#' non-working package, and/or the installation might fail.)
34+
#' @param sysreqs_platform System requirements platform.`ubuntu` by default. If `NULL`, then the current platform is used. Can be : "ubuntu-22.04" if needed to fit with the `FROM` Operating System. Only debian or ubuntu based images are supported
3435
#' @importFrom utils getFromNamespace
3536
#' @return A R6 object of class `Dockerfile`.
3637
#' @details
@@ -67,6 +68,7 @@ dock_from_renv <- function(
6768
use_pak = FALSE,
6869
user = NULL,
6970
dependencies = NA,
71+
sysreqs_platform = "ubuntu",
7072
renv_version
7173
) {
7274
try(dockerfiler::renv$initialize(),silent=TRUE)
@@ -100,12 +102,7 @@ dock_from_renv <- function(
100102
)
101103

102104

103-
# ici il faut connaire l'image utilisé par l'image.
104-
105-
106-
# distro_args <- list(sysreqs_platform = "ubuntu-22.04")
107-
108-
distro_args <- list(sysreqs_platform = "ubuntu")
105+
distro_args <- list(sysreqs_platform = sysreqs_platform)
109106

110107
install_cmd <- "apt-get install -y"
111108
update_cmd <-"apt-get update -y"

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,16 @@ You’re reading the doc about version :
1818

1919
``` r
2020
desc::desc_get_version()
21-
#> [1] '0.2.2'
21+
#> [1] '0.2.3'
2222
```
2323

2424
The check results are:
2525

2626
``` r
2727
devtools::check(quiet = TRUE)
2828
#> ℹ Loading dockerfiler
29-
#> ── R CMD check results ────────────────────────────────── dockerfiler 0.2.2 ────
30-
#> Duration: 1m 0.6s
29+
#> ── R CMD check results ────────────────────────────────── dockerfiler 0.2.3 ────
30+
#> Duration: 1m 31.3s
3131
#>
3232
#> 0 errors ✔ | 0 warnings ✔ | 0 notes ✔
3333
```

dev/flat_dock_from_renv.Rmd

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ pkg_sysreqs_mem <- memoise::memoise(
7575
#' dependencies,
7676
#' - `FALSE`: do not install any dependencies. (You might end up with a
7777
#' non-working package, and/or the installation might fail.)
78+
#' @param sysreqs_platform System requirements platform.`ubuntu` by default. If `NULL`, then the current platform is used. Can be : "ubuntu-22.04" if needed to fit with the `FROM` Operating System. Only debian or ubuntu based images are supported
7879
#' @importFrom utils getFromNamespace
7980
#' @return A R6 object of class `Dockerfile`.
8081
#' @details
@@ -106,6 +107,7 @@ dock_from_renv <- function(
106107
use_pak = FALSE,
107108
user = NULL,
108109
dependencies = NA,
110+
sysreqs_platform = "ubuntu",
109111
renv_version
110112
) {
111113
try(dockerfiler::renv$initialize(),silent=TRUE)
@@ -139,12 +141,7 @@ dock_from_renv <- function(
139141
)
140142
141143
142-
# ici il faut connaire l'image utilisé par l'image.
143-
144-
145-
# distro_args <- list(sysreqs_platform = "ubuntu-22.04")
146-
147-
distro_args <- list(sysreqs_platform = "ubuntu")
144+
distro_args <- list(sysreqs_platform = sysreqs_platform)
148145
149146
install_cmd <- "apt-get install -y"
150147
update_cmd <-"apt-get update -y"
@@ -330,10 +327,12 @@ writeLines(renv_file, file.path(dir_build, "renv.lock"))
330327
331328
# dock_from_renv ----
332329
test_that("dock_from_renv works", {
330+
331+
333332
# testthat::skip_on_cran()
334333
# skip_if_not(interactive())
335334
# Create Dockerfile
336-
335+
skip_if(is_rdevel, "skip on R-devel")
337336
out <- dock_from_renv(
338337
lockfile = the_lockfile,
339338
FROM = "rocker/verse",
@@ -346,8 +345,7 @@ test_that("dock_from_renv works", {
346345
out,
347346
"R6"
348347
)
349-
#python3 is not a direct dependencies from custom_packages
350-
expect_false( any(grepl("python3",out$Dockerfile)))
348+
351349
352350
# read Dockerfile
353351
out$write(
@@ -373,7 +371,10 @@ test_that("dock_from_renv works", {
373371
1
374372
)
375373
376-
374+
skip_if(is_rdevel, "Skip R-devel")
375+
#python3 is not a direct dependencies from custom_packages
376+
expect_false( any(grepl("python3",out$Dockerfile)))
377+
377378
# System dependencies are different when build in interactive environment?
378379
# yes. strange.
379380
skip_if_not(interactive())
@@ -409,7 +410,7 @@ test_that("dock_from_renv works with full dependencies", {
409410
# testthat::skip_on_cran()
410411
# skip_if_not(interactive())
411412
# Create Dockerfile
412-
413+
skip_if(is_rdevel, "skip on R-devel")
413414
out <- dock_from_renv(
414415
dependencies = TRUE,
415416
lockfile = the_lockfile,
@@ -423,6 +424,7 @@ test_that("dock_from_renv works with full dependencies", {
423424
out,
424425
"R6"
425426
)
427+
skip_if(is_rdevel, "Skip R-devel")
426428
#python3 is a un-direct dependencies from custom_packages
427429
expect_true( any(grepl("python3",out$Dockerfile)))
428430
})
@@ -468,6 +470,8 @@ test_that("gen_base_image works", {
468470
469471
470472
test_that("dock_from_renv works with specific renv", {
473+
474+
skip_if(is_rdevel, "skip on R-devel")
471475
# testthat::skip_on_cran()
472476
the_lockfile1.0.0 <- system.file("renv_with_1.0.0.lock",package = "dockerfiler")
473477

man/dock_from_renv.Rd

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/testthat/setup_cache_dir.R

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
R_USER_CACHE_DIR<-tempfile()
22
dir.create(R_USER_CACHE_DIR)
33
Sys.setenv("R_USER_CACHE_DIR"=R_USER_CACHE_DIR)
4+
r_version <- R.Version()$version.string
5+
is_rdevel <- grepl("unstable", r_version)
6+
# is_debian <- grepl("debian", tolower(Sys.info()['release']))

tests/testthat/test-dock_from_desc.R

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ withr::with_dir(
3737
descdir,
3838
{
3939
test_that("dock_from_desc works", {
40+
41+
skip_if(is_rdevel, "skip on R-devel")
42+
4043
my_dock <- dock_from_desc(file.path(".", "DESCRIPTION__"))
4144

4245
expect_s3_class(my_dock, "R6")
@@ -57,12 +60,8 @@ withr::with_dir(
5760
tpf
5861
)
5962
)
60-
expect_true(
61-
grepl(
62-
"apt-get update && apt-get install",
63-
tpf
64-
)
65-
)
63+
64+
6665
expect_true(
6766
grepl(
6867
"mkdir /build_zone",
@@ -92,6 +91,26 @@ withr::with_dir(
9291
# Only if package I guess
9392
# expect_true(file.exists(file.path(descdir, ".Rbuildignore")))
9493
expect_true(file.exists(file.path(descdir, ".dockerignore")))
94+
95+
96+
97+
98+
99+
100+
101+
102+
103+
skip_if(is_rdevel, "Skippé sous R-devel")
104+
105+
expect_true(
106+
grepl(
107+
"apt-get update && apt-get install",
108+
tpf
109+
)
110+
)
111+
112+
113+
95114
})
96115
}
97116
)

tests/testthat/test-dock_from_renv.R

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,12 @@ writeLines(renv_file, file.path(dir_build, "renv.lock"))
3636

3737
# dock_from_renv ----
3838
test_that("dock_from_renv works", {
39+
40+
3941
# testthat::skip_on_cran()
4042
# skip_if_not(interactive())
4143
# Create Dockerfile
42-
44+
skip_if(is_rdevel, "skip on R-devel")
4345
out <- dock_from_renv(
4446
lockfile = the_lockfile,
4547
FROM = "rocker/verse",
@@ -52,8 +54,7 @@ test_that("dock_from_renv works", {
5254
out,
5355
"R6"
5456
)
55-
#python3 is not a direct dependencies from custom_packages
56-
expect_false( any(grepl("python3",out$Dockerfile)))
57+
5758

5859
# read Dockerfile
5960
out$write(
@@ -79,7 +80,10 @@ test_that("dock_from_renv works", {
7980
1
8081
)
8182

82-
83+
skip_if(is_rdevel, "Skip R-devel")
84+
#python3 is not a direct dependencies from custom_packages
85+
expect_false( any(grepl("python3",out$Dockerfile)))
86+
8387
# System dependencies are different when build in interactive environment?
8488
# yes. strange.
8589
skip_if_not(interactive())
@@ -115,7 +119,7 @@ test_that("dock_from_renv works with full dependencies", {
115119
# testthat::skip_on_cran()
116120
# skip_if_not(interactive())
117121
# Create Dockerfile
118-
122+
skip_if(is_rdevel, "skip on R-devel")
119123
out <- dock_from_renv(
120124
dependencies = TRUE,
121125
lockfile = the_lockfile,
@@ -129,6 +133,7 @@ test_that("dock_from_renv works with full dependencies", {
129133
out,
130134
"R6"
131135
)
136+
skip_if(is_rdevel, "Skip R-devel")
132137
#python3 is a un-direct dependencies from custom_packages
133138
expect_true( any(grepl("python3",out$Dockerfile)))
134139
})
@@ -174,6 +179,8 @@ test_that("gen_base_image works", {
174179

175180

176181
test_that("dock_from_renv works with specific renv", {
182+
183+
skip_if(is_rdevel, "skip on R-devel")
177184
# testthat::skip_on_cran()
178185
the_lockfile1.0.0 <- system.file("renv_with_1.0.0.lock",package = "dockerfiler")
179186

tests/testthat/test-dockerbuild.R

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
n_temp <- tempdir()
22
file.copy("renv.lock", n_temp)
3+
skip_if(is_rdevel, "skip on R-devel")
34
withr::with_dir(
45
n_temp,
56
{

0 commit comments

Comments
 (0)