Skip to content

Commit d9de58d

Browse files
authored
Merge branch 'rocker-org:master' into devel
2 parents e2ee9dc + 48f9e76 commit d9de58d

File tree

9 files changed

+482
-379
lines changed

9 files changed

+482
-379
lines changed

.github/workflows/docker.yaml

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
## Dual build:
2-
## - once in (focal,jammy) matrix for amd64 only, and
2+
## - once in (focal [now skipped],jammy) matrix for amd64 only, and
33
## - once (noble) for a dual-platform (arm64, amd64)
44

55
name: docker
@@ -9,6 +9,8 @@ on:
99
#pull_request:
1010
#release:
1111
workflow_dispatch:
12+
schedule:
13+
- cron: "33 3 3 * *"
1214

1315
jobs:
1416
dual-platform:
@@ -34,15 +36,43 @@ jobs:
3436
platforms: linux/amd64,linux/arm64
3537
context: noble
3638
tags: rocker/r2u:noble,rocker/r2u:24.04,rocker/r2u:latest
37-
39+
40+
41+
dual-platform_ci:
42+
needs: dual-platform
43+
runs-on: ubuntu-latest
44+
name: 24.04 ci (amd64, arm64)
45+
steps:
46+
- name: Checkout
47+
uses: actions/checkout@v4
48+
- name: Set up QEMU
49+
uses: docker/setup-qemu-action@v3
50+
- name: Set up Docker Buildx
51+
uses: docker/setup-buildx-action@v3
52+
- name: Login to DockerHub
53+
uses: docker/login-action@v3
54+
with:
55+
username: ${{ secrets.DOCKER_USERNAME }}
56+
password: ${{ secrets.DOCKER_PASSWORD }}
57+
- name: Build and push
58+
uses: docker/build-push-action@v6
59+
with:
60+
push: true
61+
no-cache: true
62+
platforms: linux/amd64,linux/arm64
63+
context: noble_ci
64+
tags: rocker/r2u4ci:noble,rocker/r2u4ci:24.04,rocker/r2u4ci:latest
65+
66+
3867
matrix:
3968
runs-on: ${{ matrix.config.runs }}
4069
name: '${{ matrix.config.ver }} (${{ matrix.config.cpu }})'
4170
strategy:
4271
fail-fast: false
4372
matrix:
4473
config:
45-
- { ver: '20.04', tag: 'focal', cpu: 'amd64', runs: 'ubuntu-20.04' }
74+
# no really a matrix with just one line...
75+
#- { ver: '20.04', tag: 'focal', cpu: 'amd64', runs: 'ubuntu-20.04' }
4676
- { ver: '22.04', tag: 'jammy', cpu: 'amd64', runs: 'ubuntu-22.04' }
4777
steps:
4878
- name: Checkout

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,22 @@
11

22
## rocker/r2u: Rocker Containers for r2u
33

4+
### About r2u
5+
46
This repository provides containers for [r2u](https://eddelbuettel.github.io/r2u/). It extends /
57
revisits the initial containers provided by the [r2u](https://eddelbuettel.github.io/r2u/) project.
68

79
The containers are uploaded for each of the supported releases under their respective release names
810
(focal, jammy, noble) and release versions (20.04, 22.04, 24.04). Builds are for the amd64 platform
911
and (on 24.04 aka noble only) also for arm64.
1012

13+
### r2u4ci Variant
14+
15+
The `r2u4ci` container adds a few more commands used in standard GitHub Actions. While the standard
16+
`r2u` container can be used, this variants saves a few extra steps that would have to be taken each
17+
time in the CI setup.
18+
19+
### Background
20+
1121
Please see [motivation](motivation.md) for how it fits in with other Rocker containers.
1222

jammy/Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@ RUN useradd -s /bin/bash -m docker \
1616
&& apt update \
1717
&& apt upgrade -y \
1818
&& apt install -y --no-install-recommends \
19-
ca-certificates \
19+
ca-certificates \
20+
lsb-release \
2021
locales \
22+
sudo \
2123
wget \
2224
## Install key and setup R repo at CRAN
2325
&& wget -q -O - https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc \

noble/Dockerfile

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,11 @@ RUN useradd -s /bin/bash -m docker \
1414
&& usermod -a -G staff docker \
1515
## Refresh apt, install minimal tools
1616
&& apt update \
17-
&& apt upgrade -y \
18-
&& apt install -y --no-install-recommends \
19-
ca-certificates \
20-
locales \
21-
wget \
17+
&& apt upgrade --yes \
18+
&& apt install --yes --no-install-recommends \
19+
ca-certificates \
20+
locales \
2221
## Install key and setup R repo at CRAN
23-
&& wget -q -O - https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc \
24-
| tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc \
25-
&& echo "deb [signed-by=/etc/apt/trusted.gpg.d/cran_ubuntu_key.asc] https://cloud.r-project.org/bin/linux/ubuntu noble-cran40/" \
26-
> /etc/apt/sources.list.d/cran.list \
27-
## Install key and setup r2u repo, also set 'pin preference'
28-
&& wget -q -O - https://r2u.stat.illinois.edu/ubuntu/dirk_eddelbuettel_pubkey.asc \
29-
| tee -a /etc/apt/trusted.gpg.d/dirk_eddelbuettel_pubkey.asc \
3022
&& echo "Package: *" > /etc/apt/preferences.d/99r2u \
3123
&& echo "Pin: release o=CRAN-Apt Project" >> /etc/apt/preferences.d/99r2u \
3224
&& echo "Pin: release l=CRAN-Apt Packages" >> /etc/apt/preferences.d/99r2u \
@@ -37,7 +29,13 @@ RUN useradd -s /bin/bash -m docker \
3729
&& /usr/sbin/update-locale LANG=en_US.UTF-8
3830

3931
## New format *.sources instead of shorter *.list
32+
## Canonical sources for the key files are
33+
## https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc
34+
## https://r2u.stat.illinois.edu/ubuntu/dirk_eddelbuettel_pubkey.asc
4035
COPY r2u.sources /etc/apt/sources.list.d/
36+
COPY dirk_eddelbuettel_pubkey.asc /etc/apt/trusted.gpg.d/
37+
COPY cran.sources /etc/apt/sources.list.d/
38+
COPY marutter_pubkey.asc /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
4139

4240
## Set some variables
4341
ENV LC_ALL=en_US.UTF-8
@@ -49,7 +47,8 @@ ENV TZ=UTC
4947
# Now install R and littler, and create a link for littler in /usr/local/bin
5048
# Default CRAN repo is now set by R itself, and littler knows about it too
5149
RUN apt update \
52-
&& apt install -y --no-install-recommends \
50+
&& apt upgrade --yes \
51+
&& apt install --yes --no-install-recommends \
5352
r-base \
5453
r-base-dev \
5554
r-recommended \
@@ -84,5 +83,7 @@ RUN apt update \
8483
&& echo "options(bspm.version.check=FALSE)" >> /etc/R/Rprofile.site \
8584
&& echo "suppressMessages(bspm::enable())" >> /etc/R/Rprofile.site \
8685
&& echo 'APT::Install-Recommends "false";' > /etc/apt/apt.conf.d/90local-no-recommends \
86+
&& apt update \
87+
&& apt upgrade --yes \
8788
&& rm -rf /tmp/downloaded_packages/ /tmp/*.rds \
8889
&& rm -rf /var/lib/apt/lists/*

noble/cran.sources

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Types: deb
2+
URIs: https://cloud.r-project.org/bin/linux/ubuntu
3+
Suites: noble-cran40/
4+
Components:
5+
Signed-By: /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
6+
Enabled: yes

0 commit comments

Comments
 (0)