From a5b9515b6cbc0a2708fb02ffb1881369a8dd7314 Mon Sep 17 00:00:00 2001 From: pat-s Date: Tue, 30 Jul 2024 22:35:39 +0200 Subject: [PATCH] fix image names, quote argument --- .woodpecker/build.yaml | 2 +- Justfile | 2 +- ...{Dockerfile-rhel-8 => Dockerfile-redhat-8} | 0 ...{Dockerfile-rhel-9 => Dockerfile-redhat-9} | 0 docker/Dockerfile-ubuntu-2204 | 19 +++++++++++++++++++ docker/Dockerfile-ubuntu-2404 | 2 +- 6 files changed, 22 insertions(+), 3 deletions(-) rename docker/{Dockerfile-rhel-8 => Dockerfile-redhat-8} (100%) rename docker/{Dockerfile-rhel-9 => Dockerfile-redhat-9} (100%) create mode 100644 docker/Dockerfile-ubuntu-2204 diff --git a/.woodpecker/build.yaml b/.woodpecker/build.yaml index 0a81d0d..8d18cd3 100644 --- a/.woodpecker/build.yaml +++ b/.woodpecker/build.yaml @@ -42,7 +42,7 @@ steps: # more complicated system dependencies which pak cannot resolve - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages # set additional repos: important as otherwise some packages cannot be resolved (e.g. INLA). Also: setting our own binary repos so we can make use of them for dep installation at some point - - R -q -e 'options(crayon.enabled = TRUE, Ncpus = 6, future.globals.onReference = "error", repos = structure(c(getOption("repos"),INLA="https://inla.r-inla-download.org/R/stable"))); pkgs = tools::CRAN_package_db()[[1]][${BLOCK}]; library(rBinaries); future::plan("multisession", workers = 6, rscript_startup = quote(options(crayon.enabled = TRUE))); foo = lapply(pkgs, function(x) build_binary_package(x, build_for_minor=FALSE, debug = FALSE, force = TRUE, platform = ${PLATFORM}))' + - R -q -e 'options(crayon.enabled = TRUE, Ncpus = 6, future.globals.onReference = "error", repos = structure(c(getOption("repos"),INLA="https://inla.r-inla-download.org/R/stable"))); pkgs = tools::CRAN_package_db()[[1]][${BLOCK}]; library(rBinaries); future::plan("multisession", workers = 6, rscript_startup = quote(options(crayon.enabled = TRUE))); foo = lapply(pkgs, function(x) build_binary_package(x, build_for_minor=FALSE, debug = FALSE, force = TRUE, platform = "${PLATFORM}"))' backend_options: kubernetes: ### PROD diff --git a/Justfile b/Justfile index 842ad63..4788eba 100644 --- a/Justfile +++ b/Justfile @@ -1,5 +1,5 @@ image OS: - if echo "{{OS}}" | grep -qi "rhel"; then \ + if echo "{{OS}}" | grep -qi "redhat"; then \ docker buildx build --build-arg RED_HAT_DEV_PW='ujF@4A^yn$6utRhb&UooGH#w' -f docker/Dockerfile-{{OS}} -t pats22/arm-binaries-r-{{OS}}:latest --push .; \ else \ docker buildx build -f docker/Dockerfile-{{OS}} -t pats22/arm-binaries-r-{{OS}}:latest --push .; \ diff --git a/docker/Dockerfile-rhel-8 b/docker/Dockerfile-redhat-8 similarity index 100% rename from docker/Dockerfile-rhel-8 rename to docker/Dockerfile-redhat-8 diff --git a/docker/Dockerfile-rhel-9 b/docker/Dockerfile-redhat-9 similarity index 100% rename from docker/Dockerfile-rhel-9 rename to docker/Dockerfile-redhat-9 diff --git a/docker/Dockerfile-ubuntu-2204 b/docker/Dockerfile-ubuntu-2204 new file mode 100644 index 0000000..4fe55b3 --- /dev/null +++ b/docker/Dockerfile-ubuntu-2204 @@ -0,0 +1,19 @@ +FROM ubuntu:jammy-20240530 + +ENV PATH=/opt/R/4.4.1/bin:$PATH +ENV TZ="Europe/Berlin" + +### install JAGS (needed for runjags which itself is again a dependency of many packages) +RUN apt update && apt install -y --no-install-recommends gdebi-core g++ gfortran libbz2-dev libblas-dev libicu-dev liblapack-dev liblzma-dev libpaper-utils libpcre2-dev libtcl8.6 libtk8.6 libxt6 unzip zip zlib1g-dev libpcre3-dev libopenblas-dev curl ca-certificates make ccache + +RUN curl -L -O https://sourceforge.net/projects/mcmc-jags/files/JAGS/4.x/Source/JAGS-4.3.2.tar.gz && tar -xzf JAGS-4.3.2.tar.gz && cd JAGS-4.3.2 && ./configure && make && make install && rm -rf JAGS-4.3.2.tar.gz JAGS-4.3.2 && cd .. +RUN curl -O https://f003.backblazeb2.com/file/devxy-r-builds/2204/r-4.4.1_1_arm64.deb +RUN gdebi -n -qq r-4.4.1_1_arm64.deb && rm r-4.4.1_1_arm64.deb +RUN R -q -e 'install.packages("pak", repos = sprintf("https://r-lib.github.io/p/pak/stable/%s/%s/%s", .Platform$pkgType, R.Version()$os, R.Version()$arch))' + +COPY . . +RUN R -q -e 'Sys.setenv(PKG_SYSREQS = TRUE, PKG_SYSREQS_VERBOSE = TRUE, PKG_SYSREQS_PLATFORM = "ubuntu-24.04"); pak::pak()' +RUN R CMD INSTALL . +RUN rm -rf arm-binaries-r + +CMD ["/bin/bash"] \ No newline at end of file diff --git a/docker/Dockerfile-ubuntu-2404 b/docker/Dockerfile-ubuntu-2404 index d2fdcdc..27124b6 100644 --- a/docker/Dockerfile-ubuntu-2404 +++ b/docker/Dockerfile-ubuntu-2404 @@ -4,7 +4,7 @@ ENV PATH=/opt/R/4.4.1/bin:$PATH ENV TZ="Europe/Berlin" ### install JAGS (needed for runjags which itself is again a dependency of many packages) -RUN apt update && apt install -y --no-install-recommends gdebi-core g++ gfortran libbz2-dev libblas-dev libicu-dev liblapack-dev liblzma-dev libpaper-utils libpcre2-dev libtcl8.6 libtk8.6 libxt6 unzip zip zlib1g-dev libpcre3-dev libopenblas-dev curl ca-certificates make +RUN apt update && apt install -y --no-install-recommends gdebi-core g++ gfortran libbz2-dev libblas-dev libicu-dev liblapack-dev liblzma-dev libpaper-utils libpcre2-dev libtcl8.6 libtk8.6 libxt6 unzip zip zlib1g-dev libpcre3-dev libopenblas-dev curl ca-certificates make ccache RUN curl -L -O https://sourceforge.net/projects/mcmc-jags/files/JAGS/4.x/Source/JAGS-4.3.2.tar.gz && tar -xzf JAGS-4.3.2.tar.gz && cd JAGS-4.3.2 && ./configure && make && make install && rm -rf JAGS-4.3.2.tar.gz JAGS-4.3.2 && cd .. RUN curl -O https://f003.backblazeb2.com/file/devxy-r-builds/2404/r-4.4.1_1_arm64.deb