README.md

mdsrocker

Docker Image
CI

The goal of mdsrocker is to provide a framework for building a stack of version-stable docker images based on rocker/r-ver, an ubuntu-based docker image containing version-stable base R & a set of src build tools.

We follow the version tag approach of the rocker-project, using the image tag for specifying which version of R is desired (e.g. rocker/r-ver: 4.3.1). Omit the tag or specify :latest to always receive the latest versions.

Image stack

image description r-aws-minimal r-ver plus basic utilities stack including API tools r-aws-spatial r-aws-minimal plus a spatial libraries stack r-cicd-minimal r-aws-minimal plus a set of CI/CD tools r-cicd-spatial r-aws-spatial plus a set of CI/CD tools

Architecture

This building system is designed as an R package.

Data

All relevant information is stored in two data.frames (as package data):

type syslibs extra pypkgs rpkgs aws apt-utils , curl , git , jq , libbz2-dev , libpng-dev , libssl-dev , libsasl2-dev , libsodium-dev , python3-dev , python3-pip , python3-venv , software-properties-common AWS CLI version 2 pipreqs , poetry , requests arrow , checkmate , curl , dplyr , paws , plumber , renv , reticulate , targets , tarchetypes, units , xml2 , zoo spatial NULL WhiteboxTools NULL elevatr , gdalcubes , lwgeom , mapview , ncdf4 , openeo , raster , rstac , s2 , satellite , sf , sp , stars , starsExtra, terra , units , whitebox cicd NULL NULL NULL covr , DT , lintr , pkgdown , rcmdcheck, tinytest image parent script r-aws-minimal rocker/r-ver install_aws.sh r-aws-spatial meterds/r-aws-minimal install_spatial.sh r-cicd-minimal meterds/r-aws-minimal install_cicd.sh r-cicd-spatial meterds/r-aws-spatial install_cicd.sh

Scripts & Files

In this building system,

Updating

All scripts are automatically updated in the Github Actions Workflow update-building-system.yml (by running execute.R) when commited and pushed.

For adding changes (e.g. additional R packages), do:

  1. git pull the latest changes in the remote repository,
  2. run:
    • mdseasy::easy_version(element = "dev", check_renv = FALSE, check_gitlab_ci = FALSE, push = FALSE)
  3. update and run the code generating the package data in data-raw/datasets.R,
  4. run:
    • devtools::document()
    • devtools::check()
  5. update NEWS.md
  6. run
    • gert::git_commit_all("YOUR COMMIT MESSAGE")
    • mdseasy::easy_version(check_renv = FALSE, check_gitlab_ci = FALSE)

Execution

The Github Actions workflow publish-docker-images.yml is:



meterds/mdsrocker documentation built on Dec. 2, 2023, 11:56 p.m.