diff --git a/bakefiles/4.2.3.docker-bake.json b/bakefiles/4.2.3.docker-bake.json index 552c5f9d..2416c235 100644 --- a/bakefiles/4.2.3.docker-bake.json +++ b/bakefiles/4.2.3.docker-bake.json @@ -3,7 +3,15 @@ { "default": [ { - "targets": ["r-ver", "rstudio", "tidyverse", "shiny", "shiny-verse", "verse", "geospatial"] + "targets": [ + "r-ver", + "rstudio", + "tidyverse", + "shiny", + "shiny-verse", + "verse", + "geospatial" + ] } ] } @@ -21,12 +29,6 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, - "tags": [ - "docker.io/rocker/r-ver:4.2.3", - "ghcr.io/rocker-org/r-ver:4.2.3", - "docker.io/rocker/r-ver:4.2", - "ghcr.io/rocker-org/r-ver:4.2" - ], "platforms": [ "linux/amd64", "linux/arm64" @@ -34,6 +36,12 @@ "cache-to": [ "type=inline" ], + "tags": [ + "docker.io/rocker/r-ver:4.2.3", + "ghcr.io/rocker-org/r-ver:4.2.3", + "docker.io/rocker/r-ver:4.2", + "ghcr.io/rocker-org/r-ver:4.2" + ], "cache-from": [ "docker.io/rocker/r-ver:4.2.3", "ghcr.io/rocker-org/r-ver:4.2.3", @@ -77,12 +85,6 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, - "tags": [ - "docker.io/rocker/rstudio:4.2.3", - "ghcr.io/rocker-org/rstudio:4.2.3", - "docker.io/rocker/rstudio:4.2", - "ghcr.io/rocker-org/rstudio:4.2" - ], "platforms": [ "linux/amd64", "linux/arm64" @@ -90,6 +92,12 @@ "cache-to": [ "type=inline" ], + "tags": [ + "docker.io/rocker/rstudio:4.2.3", + "ghcr.io/rocker-org/rstudio:4.2.3", + "docker.io/rocker/rstudio:4.2", + "ghcr.io/rocker-org/rstudio:4.2" + ], "cache-from": [ "docker.io/rocker/r-ver:4.2.3", "ghcr.io/rocker-org/r-ver:4.2.3", @@ -133,18 +141,18 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, + "platforms": [ + "linux/amd64" + ], + "cache-to": [ + "type=inline" + ], "tags": [ "docker.io/rocker/tidyverse:4.2.3", "ghcr.io/rocker-org/tidyverse:4.2.3", "docker.io/rocker/tidyverse:4.2", "ghcr.io/rocker-org/tidyverse:4.2" ], - "platforms": [ - "linux/arm64" - ], - "cache-to": [ - "type=inline" - ], "cache-from": [ "docker.io/rocker/r-ver:4.2.3", "ghcr.io/rocker-org/r-ver:4.2.3", @@ -188,18 +196,18 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, + "platforms": [ + "linux/amd64" + ], + "cache-to": [ + "type=inline" + ], "tags": [ "docker.io/rocker/verse:4.2.3", "ghcr.io/rocker-org/verse:4.2.3", "docker.io/rocker/verse:4.2", "ghcr.io/rocker-org/verse:4.2" ], - "platforms": [ - "linux/arm64" - ], - "cache-to": [ - "type=inline" - ], "cache-from": [ "docker.io/rocker/r-ver:4.2.3", "ghcr.io/rocker-org/r-ver:4.2.3", @@ -243,18 +251,18 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, + "platforms": [ + "linux/amd64" + ], + "cache-to": [ + "type=inline" + ], "tags": [ "docker.io/rocker/geospatial:4.2.3", "ghcr.io/rocker-org/geospatial:4.2.3", "docker.io/rocker/geospatial:4.2", "ghcr.io/rocker-org/geospatial:4.2" ], - "platforms": [ - "linux/arm64" - ], - "cache-to": [ - "type=inline" - ], "cache-from": [ "docker.io/rocker/r-ver:4.2.3", "ghcr.io/rocker-org/r-ver:4.2.3", @@ -298,18 +306,18 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, + "platforms": [ + "linux/amd64" + ], + "cache-to": [ + "type=inline" + ], "tags": [ "docker.io/rocker/shiny:4.2.3", "ghcr.io/rocker-org/shiny:4.2.3", "docker.io/rocker/shiny:4.2", "ghcr.io/rocker-org/shiny:4.2" ], - "platforms": [ - "linux/arm64" - ], - "cache-to": [ - "type=inline" - ], "cache-from": [ "docker.io/rocker/r-ver:4.2.3", "ghcr.io/rocker-org/r-ver:4.2.3", @@ -353,18 +361,18 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, + "platforms": [ + "linux/amd64" + ], + "cache-to": [ + "type=inline" + ], "tags": [ "docker.io/rocker/shiny-verse:4.2.3", "ghcr.io/rocker-org/shiny-verse:4.2.3", "docker.io/rocker/shiny-verse:4.2", "ghcr.io/rocker-org/shiny-verse:4.2" ], - "platforms": [ - "linux/arm64" - ], - "cache-to": [ - "type=inline" - ], "cache-from": [ "docker.io/rocker/r-ver:4.2.3", "ghcr.io/rocker-org/r-ver:4.2.3", diff --git a/bakefiles/4.3.2.docker-bake.json b/bakefiles/4.3.2.docker-bake.json index b6fc85cd..09627905 100644 --- a/bakefiles/4.3.2.docker-bake.json +++ b/bakefiles/4.3.2.docker-bake.json @@ -3,7 +3,15 @@ { "default": [ { - "targets": ["r-ver", "rstudio", "tidyverse", "shiny", "shiny-verse", "verse", "geospatial"] + "targets": [ + "r-ver", + "rstudio", + "tidyverse", + "shiny", + "shiny-verse", + "verse", + "geospatial" + ] } ] } @@ -21,10 +29,6 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, - "tags": [ - "docker.io/rocker/r-ver:4.3.2", - "ghcr.io/rocker-org/r-ver:4.3.2" - ], "platforms": [ "linux/amd64", "linux/arm64" @@ -32,6 +36,10 @@ "cache-to": [ "type=inline" ], + "tags": [ + "docker.io/rocker/r-ver:4.3.2", + "ghcr.io/rocker-org/r-ver:4.3.2" + ], "cache-from": [ "docker.io/rocker/r-ver:4.3.2", "ghcr.io/rocker-org/r-ver:4.3.2", @@ -61,10 +69,6 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, - "tags": [ - "docker.io/rocker/rstudio:4.3.2", - "ghcr.io/rocker-org/rstudio:4.3.2" - ], "platforms": [ "linux/amd64", "linux/arm64" @@ -72,6 +76,10 @@ "cache-to": [ "type=inline" ], + "tags": [ + "docker.io/rocker/rstudio:4.3.2", + "ghcr.io/rocker-org/rstudio:4.3.2" + ], "cache-from": [ "docker.io/rocker/r-ver:4.3.2", "ghcr.io/rocker-org/r-ver:4.3.2", @@ -101,16 +109,16 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, - "tags": [ - "docker.io/rocker/tidyverse:4.3.2", - "ghcr.io/rocker-org/tidyverse:4.3.2" - ], "platforms": [ - "linux/arm64" + "linux/amd64" ], "cache-to": [ "type=inline" ], + "tags": [ + "docker.io/rocker/tidyverse:4.3.2", + "ghcr.io/rocker-org/tidyverse:4.3.2" + ], "cache-from": [ "docker.io/rocker/r-ver:4.3.2", "ghcr.io/rocker-org/r-ver:4.3.2", @@ -140,16 +148,16 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, - "tags": [ - "docker.io/rocker/verse:4.3.2", - "ghcr.io/rocker-org/verse:4.3.2" - ], "platforms": [ - "linux/arm64" + "linux/amd64" ], "cache-to": [ "type=inline" ], + "tags": [ + "docker.io/rocker/verse:4.3.2", + "ghcr.io/rocker-org/verse:4.3.2" + ], "cache-from": [ "docker.io/rocker/r-ver:4.3.2", "ghcr.io/rocker-org/r-ver:4.3.2", @@ -179,16 +187,16 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, - "tags": [ - "docker.io/rocker/geospatial:4.3.2", - "ghcr.io/rocker-org/geospatial:4.3.2" - ], "platforms": [ - "linux/arm64" + "linux/amd64" ], "cache-to": [ "type=inline" ], + "tags": [ + "docker.io/rocker/geospatial:4.3.2", + "ghcr.io/rocker-org/geospatial:4.3.2" + ], "cache-from": [ "docker.io/rocker/r-ver:4.3.2", "ghcr.io/rocker-org/r-ver:4.3.2", @@ -218,16 +226,16 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, - "tags": [ - "docker.io/rocker/shiny:4.3.2", - "ghcr.io/rocker-org/shiny:4.3.2" - ], "platforms": [ - "linux/arm64" + "linux/amd64" ], "cache-to": [ "type=inline" ], + "tags": [ + "docker.io/rocker/shiny:4.3.2", + "ghcr.io/rocker-org/shiny:4.3.2" + ], "cache-from": [ "docker.io/rocker/r-ver:4.3.2", "ghcr.io/rocker-org/r-ver:4.3.2", @@ -257,16 +265,16 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, - "tags": [ - "docker.io/rocker/shiny-verse:4.3.2", - "ghcr.io/rocker-org/shiny-verse:4.3.2" - ], "platforms": [ - "linux/arm64" + "linux/amd64" ], "cache-to": [ "type=inline" ], + "tags": [ + "docker.io/rocker/shiny-verse:4.3.2", + "ghcr.io/rocker-org/shiny-verse:4.3.2" + ], "cache-from": [ "docker.io/rocker/r-ver:4.3.2", "ghcr.io/rocker-org/r-ver:4.3.2", diff --git a/bakefiles/4.3.2.extra.docker-bake.json b/bakefiles/4.3.2.extra.docker-bake.json index 88782445..bc722c69 100644 --- a/bakefiles/4.3.2.extra.docker-bake.json +++ b/bakefiles/4.3.2.extra.docker-bake.json @@ -3,17 +3,28 @@ { "default": [ { - "targets": ["cuda", "ml", "ml-verse", "binder"] + "targets": [ + "cuda", + "ml", + "ml-verse", + "binder" + ] } ], "binder": [ { - "targets": ["binder"] + "targets": [ + "binder" + ] } ], "cuda": [ { - "targets": ["cuda", "ml", "ml-verse"] + "targets": [ + "cuda", + "ml", + "ml-verse" + ] } ] } @@ -31,16 +42,16 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, - "tags": [ - "docker.io/rocker/cuda:4.3.2", - "ghcr.io/rocker-org/cuda:4.3.2" - ], "platforms": [ "linux/amd64" ], "cache-to": [ "type=inline" ], + "tags": [ + "docker.io/rocker/cuda:4.3.2", + "ghcr.io/rocker-org/cuda:4.3.2" + ], "cache-from": [ "docker.io/rocker/cuda:4.3.2", "ghcr.io/rocker-org/cuda:4.3.2", @@ -62,16 +73,16 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, - "tags": [ - "docker.io/rocker/ml:4.3.2", - "ghcr.io/rocker-org/ml-verse:4.3.2" - ], "platforms": [ "linux/amd64" ], "cache-to": [ "type=inline" ], + "tags": [ + "docker.io/rocker/ml:4.3.2", + "ghcr.io/rocker-org/ml-verse:4.3.2" + ], "cache-from": [ "docker.io/rocker/cuda:4.3.2", "ghcr.io/rocker-org/cuda:4.3.2", @@ -93,16 +104,16 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, - "tags": [ - "docker.io/rocker/ml-verse:4.3.2", - "ghcr.io/rocker-org/ml-verse:4.3.2" - ], "platforms": [ - "linux/arm64" + "linux/amd64" ], "cache-to": [ "type=inline" ], + "tags": [ + "docker.io/rocker/ml-verse:4.3.2", + "ghcr.io/rocker-org/ml-verse:4.3.2" + ], "cache-from": [ "docker.io/rocker/cuda:4.3.2", "ghcr.io/rocker-org/cuda:4.3.2", @@ -123,12 +134,6 @@ "docker.io/rocker/binder:4.3.2", "ghcr.io/rocker-org/binder:4.3.2" ], - "platforms": [ - "linux/amd64" - ], - "cache-to": [ - "type=inline" - ], "cache-from": [ "docker.io/rocker/binder:4.3.2", "ghcr.io/rocker-org/binder:4.3.2" diff --git a/bakefiles/4.3.3.docker-bake.json b/bakefiles/4.3.3.docker-bake.json index 8ad94d02..8aaa428a 100644 --- a/bakefiles/4.3.3.docker-bake.json +++ b/bakefiles/4.3.3.docker-bake.json @@ -3,7 +3,15 @@ { "default": [ { - "targets": ["r-ver", "rstudio", "tidyverse", "shiny", "shiny-verse", "verse", "geospatial"] + "targets": [ + "r-ver", + "rstudio", + "tidyverse", + "shiny", + "shiny-verse", + "verse", + "geospatial" + ] } ] } @@ -21,6 +29,13 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, + "platforms": [ + "linux/amd64", + "linux/arm64" + ], + "cache-to": [ + "type=inline" + ], "tags": [ "docker.io/rocker/r-ver:4.3.3", "ghcr.io/rocker-org/r-ver:4.3.3", @@ -31,13 +46,6 @@ "docker.io/rocker/r-ver:latest", "ghcr.io/rocker-org/r-ver:latest" ], - "platforms": [ - "linux/amd64", - "linux/arm64" - ], - "cache-to": [ - "type=inline" - ], "cache-from": [ "docker.io/rocker/r-ver:4.3.3", "ghcr.io/rocker-org/r-ver:4.3.3", @@ -109,6 +117,13 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, + "platforms": [ + "linux/amd64", + "linux/arm64" + ], + "cache-to": [ + "type=inline" + ], "tags": [ "docker.io/rocker/rstudio:4.3.3", "ghcr.io/rocker-org/rstudio:4.3.3", @@ -119,13 +134,6 @@ "docker.io/rocker/rstudio:latest", "ghcr.io/rocker-org/rstudio:latest" ], - "platforms": [ - "linux/amd64", - "linux/arm64" - ], - "cache-to": [ - "type=inline" - ], "cache-from": [ "docker.io/rocker/r-ver:4.3.3", "ghcr.io/rocker-org/r-ver:4.3.3", @@ -197,6 +205,12 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, + "platforms": [ + "linux/amd64" + ], + "cache-to": [ + "type=inline" + ], "tags": [ "docker.io/rocker/tidyverse:4.3.3", "ghcr.io/rocker-org/tidyverse:4.3.3", @@ -207,12 +221,6 @@ "docker.io/rocker/tidyverse:latest", "ghcr.io/rocker-org/tidyverse:latest" ], - "platforms": [ - "linux/arm64" - ], - "cache-to": [ - "type=inline" - ], "cache-from": [ "docker.io/rocker/r-ver:4.3.3", "ghcr.io/rocker-org/r-ver:4.3.3", @@ -284,6 +292,12 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, + "platforms": [ + "linux/amd64" + ], + "cache-to": [ + "type=inline" + ], "tags": [ "docker.io/rocker/verse:4.3.3", "ghcr.io/rocker-org/verse:4.3.3", @@ -294,12 +308,6 @@ "docker.io/rocker/verse:latest", "ghcr.io/rocker-org/verse:latest" ], - "platforms": [ - "linux/arm64" - ], - "cache-to": [ - "type=inline" - ], "cache-from": [ "docker.io/rocker/r-ver:4.3.3", "ghcr.io/rocker-org/r-ver:4.3.3", @@ -371,6 +379,12 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, + "platforms": [ + "linux/amd64" + ], + "cache-to": [ + "type=inline" + ], "tags": [ "docker.io/rocker/geospatial:4.3.3", "ghcr.io/rocker-org/geospatial:4.3.3", @@ -381,12 +395,6 @@ "docker.io/rocker/geospatial:latest", "ghcr.io/rocker-org/geospatial:latest" ], - "platforms": [ - "linux/arm64" - ], - "cache-to": [ - "type=inline" - ], "cache-from": [ "docker.io/rocker/r-ver:4.3.3", "ghcr.io/rocker-org/r-ver:4.3.3", @@ -458,6 +466,12 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, + "platforms": [ + "linux/amd64" + ], + "cache-to": [ + "type=inline" + ], "tags": [ "docker.io/rocker/shiny:4.3.3", "ghcr.io/rocker-org/shiny:4.3.3", @@ -468,12 +482,6 @@ "docker.io/rocker/shiny:latest", "ghcr.io/rocker-org/shiny:latest" ], - "platforms": [ - "linux/arm64" - ], - "cache-to": [ - "type=inline" - ], "cache-from": [ "docker.io/rocker/r-ver:4.3.3", "ghcr.io/rocker-org/r-ver:4.3.3", @@ -545,6 +553,12 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, + "platforms": [ + "linux/amd64" + ], + "cache-to": [ + "type=inline" + ], "tags": [ "docker.io/rocker/shiny-verse:4.3.3", "ghcr.io/rocker-org/shiny-verse:4.3.3", @@ -555,12 +569,6 @@ "docker.io/rocker/shiny-verse:latest", "ghcr.io/rocker-org/shiny-verse:latest" ], - "platforms": [ - "linux/arm64" - ], - "cache-to": [ - "type=inline" - ], "cache-from": [ "docker.io/rocker/r-ver:4.3.3", "ghcr.io/rocker-org/r-ver:4.3.3", diff --git a/bakefiles/4.3.3.extra.docker-bake.json b/bakefiles/4.3.3.extra.docker-bake.json index 9b57e6d6..24b975d6 100644 --- a/bakefiles/4.3.3.extra.docker-bake.json +++ b/bakefiles/4.3.3.extra.docker-bake.json @@ -3,17 +3,28 @@ { "default": [ { - "targets": ["cuda", "ml", "ml-verse", "binder"] + "targets": [ + "cuda", + "ml", + "ml-verse", + "binder" + ] } ], "binder": [ { - "targets": ["binder"] + "targets": [ + "binder" + ] } ], "cuda": [ { - "targets": ["cuda", "ml", "ml-verse"] + "targets": [ + "cuda", + "ml", + "ml-verse" + ] } ] } @@ -31,6 +42,12 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, + "platforms": [ + "linux/amd64" + ], + "cache-to": [ + "type=inline" + ], "tags": [ "docker.io/rocker/cuda:4.3.3", "ghcr.io/rocker-org/cuda:4.3.3", @@ -41,12 +58,6 @@ "docker.io/rocker/cuda:latest", "ghcr.io/rocker-org/cuda:latest" ], - "platforms": [ - "linux/amd64" - ], - "cache-to": [ - "type=inline" - ], "cache-from": [ "docker.io/rocker/cuda:4.3.3", "ghcr.io/rocker-org/cuda:4.3.3", @@ -86,6 +97,12 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, + "platforms": [ + "linux/amd64" + ], + "cache-to": [ + "type=inline" + ], "tags": [ "docker.io/rocker/ml:4.3.3", "ghcr.io/rocker-org/ml-verse:4.3.3", @@ -96,12 +113,6 @@ "docker.io/rocker/ml:latest", "ghcr.io/rocker-org/ml-verse:latest" ], - "platforms": [ - "linux/amd64" - ], - "cache-to": [ - "type=inline" - ], "cache-from": [ "docker.io/rocker/cuda:4.3.3", "ghcr.io/rocker-org/cuda:4.3.3", @@ -141,6 +152,12 @@ "org.opencontainers.image.vendor": "Rocker Project", "org.opencontainers.image.authors": "Carl Boettiger " }, + "platforms": [ + "linux/amd64" + ], + "cache-to": [ + "type=inline" + ], "tags": [ "docker.io/rocker/ml-verse:4.3.3", "ghcr.io/rocker-org/ml-verse:4.3.3", @@ -151,12 +168,6 @@ "docker.io/rocker/ml-verse:latest", "ghcr.io/rocker-org/ml-verse:latest" ], - "platforms": [ - "linux/arm64" - ], - "cache-to": [ - "type=inline" - ], "cache-from": [ "docker.io/rocker/cuda:4.3.3", "ghcr.io/rocker-org/cuda:4.3.3", @@ -201,12 +212,6 @@ "docker.io/rocker/binder:latest", "ghcr.io/rocker-org/binder:latest" ], - "platforms": [ - "linux/amd64" - ], - "cache-to": [ - "type=inline" - ], "cache-from": [ "docker.io/rocker/binder:4.3.3", "ghcr.io/rocker-org/binder:4.3.3", diff --git a/build/scripts/generate-bakefiles.R b/build/scripts/generate-bakefiles.R index 8a88120c..0406148a 100644 --- a/build/scripts/generate-bakefiles.R +++ b/build/scripts/generate-bakefiles.R @@ -27,7 +27,7 @@ write_main_bakefile <- function(..., bakefile_template, path_template) { .close = "}}", .trim = FALSE ) |> - jsonlite::fromJSON() + jsonlite::fromJSON(simplifyVector = FALSE) generate_versioned_tags <- function(base_name) { generate_tags( @@ -39,7 +39,7 @@ write_main_bakefile <- function(..., bakefile_template, path_template) { as.list() } - # Update labels, tags, platforms, cache-to + # Update labels, tags # TODO: Do not repeat these ## r-ver bake_json_content$target$`r-ver`$labels <- c( @@ -48,8 +48,6 @@ write_main_bakefile <- function(..., bakefile_template, path_template) { ) bake_json_content$target$`r-ver`$tags <- c("docker.io/rocker/r-ver", "ghcr.io/rocker-org/r-ver") |> generate_versioned_tags() - bake_json_content$target$`r-ver`$`platforms` <- list("linux/amd64", "linux/arm64") - bake_json_content$target$`r-ver`$`cache-to` <- list("type=inline") ## rstudio bake_json_content$target$rstudio$labels <- c( @@ -58,8 +56,6 @@ write_main_bakefile <- function(..., bakefile_template, path_template) { ) bake_json_content$target$rstudio$tags <- c("docker.io/rocker/rstudio", "ghcr.io/rocker-org/rstudio") |> generate_versioned_tags() - bake_json_content$target$rstudio$`platforms` <- list("linux/amd64", "linux/arm64") - bake_json_content$target$rstudio$`cache-to` <- list("type=inline") ## tidyverse bake_json_content$target$tidyverse$labels <- c( @@ -68,8 +64,6 @@ write_main_bakefile <- function(..., bakefile_template, path_template) { ) bake_json_content$target$tidyverse$tags <- c("docker.io/rocker/tidyverse", "ghcr.io/rocker-org/tidyverse") |> generate_versioned_tags() - bake_json_content$target$tidyverse$`platforms` <- list("linux/arm64") - bake_json_content$target$tidyverse$`cache-to` <- list("type=inline") ## verse bake_json_content$target$verse$labels <- c( @@ -78,8 +72,6 @@ write_main_bakefile <- function(..., bakefile_template, path_template) { ) bake_json_content$target$verse$tags <- c("docker.io/rocker/verse", "ghcr.io/rocker-org/verse") |> generate_versioned_tags() - bake_json_content$target$verse$`platforms` <- list("linux/arm64") - bake_json_content$target$verse$`cache-to` <- list("type=inline") ## geospatial bake_json_content$target$geospatial$labels <- c( @@ -88,8 +80,6 @@ write_main_bakefile <- function(..., bakefile_template, path_template) { ) bake_json_content$target$geospatial$tags <- c("docker.io/rocker/geospatial", "ghcr.io/rocker-org/geospatial") |> generate_versioned_tags() - bake_json_content$target$geospatial$`platforms` <- list("linux/arm64") - bake_json_content$target$geospatial$`cache-to` <- list("type=inline") ## shiny bake_json_content$target$shiny$labels <- c( @@ -98,8 +88,6 @@ write_main_bakefile <- function(..., bakefile_template, path_template) { ) bake_json_content$target$shiny$tags <- c("docker.io/rocker/shiny", "ghcr.io/rocker-org/shiny") |> generate_versioned_tags() - bake_json_content$target$shiny$`platforms` <- list("linux/arm64") - bake_json_content$target$shiny$`cache-to` <- list("type=inline") ## shiny-verse bake_json_content$target$`shiny-verse`$labels <- c( @@ -108,8 +96,6 @@ write_main_bakefile <- function(..., bakefile_template, path_template) { ) bake_json_content$target$`shiny-verse`$tags <- c("docker.io/rocker/shiny-verse", "ghcr.io/rocker-org/shiny-verse") |> generate_versioned_tags() - bake_json_content$target$`shiny-verse`$`platforms` <- list("linux/arm64") - bake_json_content$target$`shiny-verse`$`cache-to` <- list("type=inline") # Update cache-from bake_json_content$target$`r-ver`$`cache-from` <- @@ -152,7 +138,7 @@ write_extra_bakefile <- function(..., bakefile_template, path_template) { .close = "}}", .trim = FALSE ) |> - jsonlite::fromJSON() + jsonlite::fromJSON(simplifyVector = FALSE) generate_versioned_tags <- function(base_name) { generate_tags( @@ -164,10 +150,7 @@ write_extra_bakefile <- function(..., bakefile_template, path_template) { as.list() } - # Prevent auto unboxing - bake_json_content$group$binder[[1]]$targets[[1]] <- I("binder") - - # Update labels, tags, platforms, cache-to + # Update labels, tags # TODO: Do not repeat these ## binder bake_json_content$target$binder$labels <- c( @@ -176,8 +159,6 @@ write_extra_bakefile <- function(..., bakefile_template, path_template) { ) bake_json_content$target$binder$tags <- c("docker.io/rocker/binder", "ghcr.io/rocker-org/binder") |> generate_versioned_tags() - bake_json_content$target$binder$`platforms` <- list("linux/amd64") - bake_json_content$target$binder$`cache-to` <- list("type=inline") bake_json_content$target$binder$`cache-from` <- bake_json_content$target$binder$tags ## cuda @@ -187,8 +168,6 @@ write_extra_bakefile <- function(..., bakefile_template, path_template) { ) bake_json_content$target$`cuda`$tags <- c("docker.io/rocker/cuda", "ghcr.io/rocker-org/cuda") |> generate_versioned_tags() - bake_json_content$target$`cuda`$`platforms` <- list("linux/amd64") - bake_json_content$target$`cuda`$`cache-to` <- list("type=inline") ## ml bake_json_content$target$ml$labels <- c( @@ -197,8 +176,6 @@ write_extra_bakefile <- function(..., bakefile_template, path_template) { ) bake_json_content$target$ml$tags <- c("docker.io/rocker/ml", "ghcr.io/rocker-org/ml-verse") |> generate_versioned_tags() - bake_json_content$target$ml$`platforms` <- list("linux/amd64") - bake_json_content$target$ml$`cache-to` <- list("type=inline") ## ml-verse bake_json_content$target$`ml-verse`$labels <- c( @@ -207,8 +184,6 @@ write_extra_bakefile <- function(..., bakefile_template, path_template) { ) bake_json_content$target$`ml-verse`$tags <- c("docker.io/rocker/ml-verse", "ghcr.io/rocker-org/ml-verse") |> generate_versioned_tags() - bake_json_content$target$`ml-verse`$`platforms` <- list("linux/arm64") - bake_json_content$target$`ml-verse`$`cache-to` <- list("type=inline") # Update cache-from bake_json_content$target$`cuda`$`cache-from` <- diff --git a/build/templates/bakefiles/extra.docker-bake.json b/build/templates/bakefiles/extra.docker-bake.json index f2d42d85..c3b5e8b2 100644 --- a/build/templates/bakefiles/extra.docker-bake.json +++ b/build/templates/bakefiles/extra.docker-bake.json @@ -37,7 +37,9 @@ "org.opencontainers.image.description": "NVIDIA CUDA libraries added to Rocker image.", "org.opencontainers.image.base.name": "docker.io/nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04", "org.opencontainers.image.version": "R-{{r_version}}" - } + }, + "platforms": ["linux/amd64"], + "cache-to": ["type=inline"] }, "ml": { "dockerfile": "dockerfiles/ml_{{r_version}}.Dockerfile", @@ -46,7 +48,9 @@ "org.opencontainers.image.description": "Docker image with R + GPU support for machine learning libraries.", "org.opencontainers.image.base.name": "docker.io/nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04", "org.opencontainers.image.version": "R-{{r_version}}" - } + }, + "platforms": ["linux/amd64"], + "cache-to": ["type=inline"] }, "ml-verse": { "dockerfile": "dockerfiles/ml-verse_{{r_version}}.Dockerfile", @@ -55,7 +59,9 @@ "org.opencontainers.image.description": "Docker image with R + GPU support for machine learning libraries, and many R packages.", "org.opencontainers.image.base.name": "docker.io/nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04", "org.opencontainers.image.version": "R-{{r_version}}" - } + }, + "platforms": ["linux/amd64"], + "cache-to": ["type=inline"] } } } diff --git a/build/templates/bakefiles/main.docker-bake.json b/build/templates/bakefiles/main.docker-bake.json index 2d22b539..4333992b 100644 --- a/build/templates/bakefiles/main.docker-bake.json +++ b/build/templates/bakefiles/main.docker-bake.json @@ -24,7 +24,9 @@ "org.opencontainers.image.description": "Reproducible builds to fixed version of R", "org.opencontainers.image.base.name": "docker.io/library/ubuntu:{{ubuntu_series}}", "org.opencontainers.image.version": "R-{{r_version}}" - } + }, + "platforms": ["linux/amd64", "linux/arm64"], + "cache-to": ["type=inline"] }, "rstudio": { "dockerfile": "dockerfiles/rstudio_{{r_version}}.Dockerfile", @@ -33,7 +35,9 @@ "org.opencontainers.image.description": "RStudio Server with fixed version of R", "org.opencontainers.image.base.name": "docker.io/library/ubuntu:{{ubuntu_series}}", "org.opencontainers.image.version": "R-{{r_version}}" - } + }, + "platforms": ["linux/amd64", "linux/arm64"], + "cache-to": ["type=inline"] }, "tidyverse": { "dockerfile": "dockerfiles/tidyverse_{{r_version}}.Dockerfile", @@ -42,7 +46,9 @@ "org.opencontainers.image.description": "Version-stable build of R, RStudio Server, and R packages.", "org.opencontainers.image.base.name": "docker.io/library/ubuntu:{{ubuntu_series}}", "org.opencontainers.image.version": "R-{{r_version}}" - } + }, + "platforms": ["linux/amd64"], + "cache-to": ["type=inline"] }, "verse": { "dockerfile": "dockerfiles/verse_{{r_version}}.Dockerfile", @@ -51,7 +57,9 @@ "org.opencontainers.image.description": "Adds tex & related publishing packages to version-locked tidyverse image.", "org.opencontainers.image.base.name": "docker.io/library/ubuntu:{{ubuntu_series}}", "org.opencontainers.image.version": "R-{{r_version}}" - } + }, + "platforms": ["linux/amd64"], + "cache-to": ["type=inline"] }, "geospatial": { "dockerfile": "dockerfiles/geospatial_{{r_version}}.Dockerfile", @@ -60,7 +68,9 @@ "org.opencontainers.image.description": "Docker-based Geospatial toolkit for R, built on versioned Rocker image.", "org.opencontainers.image.base.name": "docker.io/library/ubuntu:{{ubuntu_series}}", "org.opencontainers.image.version": "R-{{r_version}}" - } + }, + "platforms": ["linux/amd64"], + "cache-to": ["type=inline"] }, "shiny": { "dockerfile": "dockerfiles/shiny_{{r_version}}.Dockerfile", @@ -69,7 +79,9 @@ "org.opencontainers.image.description": "Shiny Server on versioned Rocker image.", "org.opencontainers.image.base.name": "docker.io/library/ubuntu:{{ubuntu_series}}", "org.opencontainers.image.version": "R-{{r_version}}" - } + }, + "platforms": ["linux/amd64"], + "cache-to": ["type=inline"] }, "shiny-verse": { "dockerfile": "dockerfiles/shiny-verse_{{r_version}}.Dockerfile", @@ -78,7 +90,9 @@ "org.opencontainers.image.description": "Rocker Shiny image + Tidyverse R packages. Uses version-stable image.", "org.opencontainers.image.base.name": "docker.io/library/ubuntu:{{ubuntu_series}}", "org.opencontainers.image.version": "R-{{r_version}}" - } + }, + "platforms": ["linux/amd64"], + "cache-to": ["type=inline"] } } }