Skip to content

Commit 7728f52

Browse files
authored
feat!: adds Ruby 4.0 support (#760)
* feat!: adds Ruby 4.0 support * fix: syntax * fix: 4.0 alpine 22
1 parent 4a21899 commit 7728f52

File tree

14 files changed

+181
-178
lines changed

14 files changed

+181
-178
lines changed

.github/workflows/buildx.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
strategy:
1515
fail-fast: false
1616
matrix:
17-
ruby-version: [3.2, 3.3, 3.4, 3.5]
17+
ruby-version: ["3.2", "3.3", "3.4", "4.0"]
1818
node-version: [20, 22, 24]
1919
variant: [default, slim, alpine]
2020
include:
@@ -52,7 +52,7 @@ jobs:
5252
fi
5353
TAGS="${DOCKER_IMAGE}:${VERSION}${VARIANT}-${{ matrix.node-version }}"
5454
TAGS="${TAGS},${DOCKER_IMAGE}:${VERSION}${VARIANT}-${NODE_CODENAME}"
55-
if [ "${{ matrix.ruby-version }}" = "3.4" ] && [ "${{ matrix.node-version }}" = "22" ]; then
55+
if [ "${{ matrix.ruby-version }}" = "4.0" ] && [ "${{ matrix.node-version }}" = "24" ]; then
5656
if [ "${{ matrix.variant }}" = "default" ]; then
5757
TAGS="${TAGS},${DOCKER_IMAGE}:3,${DOCKER_IMAGE}:latest"
5858
elif [ "${{ matrix.variant }}" = "slim" ]; then

.github/workflows/dockerimage.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
strategy:
1414
fail-fast: false
1515
matrix:
16-
ruby-version: [3.2, 3.3, 3.4, 3.5]
16+
ruby-version: ["3.2", "3.3", "3.4", "4.0"]
1717
node-version: [20, 22, 24]
1818
variant: [default, slim, alpine]
1919

.github/workflows/hadolint.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ jobs:
1515
- run: brew install hadolint
1616

1717
- run: |
18-
hadolint {3.2,3.3,3.4,3.5}/**/*Dockerfile
19-
hadolint {3.2,3.3,3.4,3.5}/**/**/*Dockerfile
18+
hadolint {3.2,3.3,3.4,4.0}/**/*Dockerfile
19+
hadolint {3.2,3.3,3.4,4.0}/**/**/*Dockerfile

3.5/22/alpine/Dockerfile

Lines changed: 0 additions & 11 deletions
This file was deleted.
Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
FROM ruby:3.5-rc
2-
LABEL maintainer "Tim Brust <[email protected]>"
3-
4-
ARG REFRESHED_AT
5-
ENV REFRESHED_AT $REFRESHED_AT
6-
ARG NODE_MAJOR=20
7-
8-
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
9-
10-
RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \
11-
&& mkdir -p /etc/apt/keyrings \
12-
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
13-
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \
14-
&& apt-get update -qq && apt-get install -qq --no-install-recommends \
15-
nodejs \
16-
&& apt-get upgrade -qq \
17-
&& apt-get clean \
18-
&& rm -rf /var/lib/apt/lists/*\
19-
&& npm install -g yarn@1
1+
FROM ruby:4.0
2+
LABEL maintainer "Tim Brust <[email protected]>"
3+
4+
ARG REFRESHED_AT
5+
ENV REFRESHED_AT $REFRESHED_AT
6+
ARG NODE_MAJOR=20
7+
8+
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
9+
10+
RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \
11+
&& mkdir -p /etc/apt/keyrings \
12+
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
13+
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \
14+
&& apt-get update -qq && apt-get install -qq --no-install-recommends \
15+
nodejs \
16+
&& apt-get upgrade -qq \
17+
&& apt-get clean \
18+
&& rm -rf /var/lib/apt/lists/*\
19+
&& npm install -g yarn@1
Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
FROM ruby:3.5-rc-alpine
2-
LABEL maintainer "Tim Brust <[email protected]>"
3-
4-
ARG REFRESHED_AT
5-
ENV REFRESHED_AT $REFRESHED_AT
6-
7-
RUN echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/community >> /etc/apk/repositories \
8-
&& echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/main >> /etc/apk/repositories \
9-
&& apk -U upgrade \
10-
&& apk add --no-cache \
11-
ada-libs@old-stable \
12-
nodejs@old-stable \
13-
npm@old-stable \
14-
yarn
1+
FROM ruby:4.0-alpine
2+
LABEL maintainer "Tim Brust <[email protected]>"
3+
4+
ARG REFRESHED_AT
5+
ENV REFRESHED_AT $REFRESHED_AT
6+
7+
RUN echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/community >> /etc/apk/repositories \
8+
&& echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/main >> /etc/apk/repositories \
9+
&& apk -U upgrade \
10+
&& apk add --no-cache \
11+
ada-libs@old-stable \
12+
nodejs@old-stable \
13+
npm@old-stable \
14+
yarn
Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
1-
FROM ruby:3.5-rc-slim
2-
LABEL maintainer "Tim Brust <[email protected]>"
3-
4-
ARG REFRESHED_AT
5-
ENV REFRESHED_AT $REFRESHED_AT
6-
ARG NODE_MAJOR=20
7-
8-
# hadolint ignore=DL3009
9-
RUN apt-get update -qq && apt-get install -qq --no-install-recommends \
10-
curl \
11-
gnupg2 \
12-
libatomic1
13-
14-
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
15-
16-
RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \
17-
&& mkdir -p /etc/apt/keyrings \
18-
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
19-
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \
20-
&& apt-get update -qq && apt-get install -qq --no-install-recommends \
21-
nodejs \
22-
&& apt-get upgrade -qq \
23-
&& apt-get clean \
24-
&& rm -rf /var/lib/apt/lists/*\
25-
&& npm install -g yarn@1
1+
FROM ruby:4.0-slim
2+
LABEL maintainer "Tim Brust <[email protected]>"
3+
4+
ARG REFRESHED_AT
5+
ENV REFRESHED_AT $REFRESHED_AT
6+
ARG NODE_MAJOR=20
7+
8+
# hadolint ignore=DL3009
9+
RUN apt-get update -qq && apt-get install -qq --no-install-recommends \
10+
curl \
11+
gnupg2 \
12+
libatomic1
13+
14+
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
15+
16+
RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \
17+
&& mkdir -p /etc/apt/keyrings \
18+
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
19+
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \
20+
&& apt-get update -qq && apt-get install -qq --no-install-recommends \
21+
nodejs \
22+
&& apt-get upgrade -qq \
23+
&& apt-get clean \
24+
&& rm -rf /var/lib/apt/lists/*\
25+
&& npm install -g yarn@1
Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
FROM ruby:3.5-rc
2-
LABEL maintainer "Tim Brust <[email protected]>"
3-
4-
ARG REFRESHED_AT
5-
ENV REFRESHED_AT $REFRESHED_AT
6-
ARG NODE_MAJOR=22
7-
8-
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
9-
10-
RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \
11-
&& mkdir -p /etc/apt/keyrings \
12-
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
13-
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \
14-
&& apt-get update -qq && apt-get install -qq --no-install-recommends \
15-
nodejs \
16-
&& apt-get upgrade -qq \
17-
&& apt-get clean \
18-
&& rm -rf /var/lib/apt/lists/*\
19-
&& npm install -g yarn@1
1+
FROM ruby:4.0
2+
LABEL maintainer "Tim Brust <[email protected]>"
3+
4+
ARG REFRESHED_AT
5+
ENV REFRESHED_AT $REFRESHED_AT
6+
ARG NODE_MAJOR=22
7+
8+
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
9+
10+
RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \
11+
&& mkdir -p /etc/apt/keyrings \
12+
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
13+
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \
14+
&& apt-get update -qq && apt-get install -qq --no-install-recommends \
15+
nodejs \
16+
&& apt-get upgrade -qq \
17+
&& apt-get clean \
18+
&& rm -rf /var/lib/apt/lists/*\
19+
&& npm install -g yarn@1

4.0/22/alpine/Dockerfile

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
FROM ruby:4.0-alpine
2+
LABEL maintainer "Tim Brust <[email protected]>"
3+
4+
ARG REFRESHED_AT
5+
ENV REFRESHED_AT $REFRESHED_AT
6+
7+
RUN echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.22/community >> /etc/apk/repositories \
8+
&& echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.22/main >> /etc/apk/repositories \
9+
&& apk -U upgrade \
10+
&& apk add --no-cache \
11+
ada-libs@old-stable \
12+
nodejs@old-stable \
13+
npm@old-stable \
14+
yarn
Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
1-
FROM ruby:3.5-rc
2-
LABEL maintainer "Tim Brust <[email protected]>"
3-
4-
ARG REFRESHED_AT
5-
ENV REFRESHED_AT $REFRESHED_AT
6-
ARG NODE_MAJOR=22
7-
8-
# hadolint ignore=DL3009
9-
RUN apt-get update -qq && apt-get install -qq --no-install-recommends \
10-
curl \
11-
gnupg2 \
12-
libatomic1
13-
14-
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
15-
16-
RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \
17-
&& mkdir -p /etc/apt/keyrings \
18-
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
19-
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \
20-
&& apt-get update -qq && apt-get install -qq --no-install-recommends \
21-
nodejs \
22-
&& apt-get upgrade -qq \
23-
&& apt-get clean \
24-
&& rm -rf /var/lib/apt/lists/*\
25-
&& npm install -g yarn@1
1+
FROM ruby:4.0
2+
LABEL maintainer "Tim Brust <[email protected]>"
3+
4+
ARG REFRESHED_AT
5+
ENV REFRESHED_AT $REFRESHED_AT
6+
ARG NODE_MAJOR=22
7+
8+
# hadolint ignore=DL3009
9+
RUN apt-get update -qq && apt-get install -qq --no-install-recommends \
10+
curl \
11+
gnupg2 \
12+
libatomic1
13+
14+
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
15+
16+
RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \
17+
&& mkdir -p /etc/apt/keyrings \
18+
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
19+
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \
20+
&& apt-get update -qq && apt-get install -qq --no-install-recommends \
21+
nodejs \
22+
&& apt-get upgrade -qq \
23+
&& apt-get clean \
24+
&& rm -rf /var/lib/apt/lists/*\
25+
&& npm install -g yarn@1

0 commit comments

Comments
 (0)