Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/buildx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ruby-version: [3.2, 3.3, 3.4]
ruby-version: [3.2, 3.3, 3.4, 3.5]
node-version: [20, 22]
variant: [default, slim, alpine]
include:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dockerimage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ruby-version: [3.2, 3.3, 3.4]
ruby-version: [3.2, 3.3, 3.4, 3.5]
node-version: [20, 22]
variant: [default, slim, alpine]

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/hadolint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@ jobs:
- run: brew install hadolint

- run: |
hadolint {3.2,3.3,3.4}/**/*Dockerfile
hadolint {3.2,3.3,3.4}/**/**/*Dockerfile
hadolint {3.2,3.3,3.4,3.5}/**/*Dockerfile
hadolint {3.2,3.3,3.4,3.5}/**/**/*Dockerfile
19 changes: 19 additions & 0 deletions 3.5/20/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
FROM ruby:3.5-rc
LABEL maintainer "Tim Brust <github@timbrust.de>"

Check warning on line 2 in 3.5/20/Dockerfile

View workflow job for this annotation

GitHub Actions / buildx (3.5, 20, default)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "LABEL key=value" should be used instead of legacy "LABEL key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

ARG REFRESHED_AT
ENV REFRESHED_AT $REFRESHED_AT

Check warning on line 5 in 3.5/20/Dockerfile

View workflow job for this annotation

GitHub Actions / buildx (3.5, 20, default)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/
ARG NODE_MAJOR=20

SHELL ["/bin/bash", "-o", "pipefail", "-c"]

RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \
&& mkdir -p /etc/apt/keyrings \
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
&& 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 \
&& apt-get update -qq && apt-get install -qq --no-install-recommends \
nodejs \
&& apt-get upgrade -qq \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*\
&& npm install -g yarn@1
14 changes: 14 additions & 0 deletions 3.5/20/alpine/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
FROM ruby:3.5-rc-alpine
LABEL maintainer "Tim Brust <github@timbrust.de>"

Check warning on line 2 in 3.5/20/alpine/Dockerfile

View workflow job for this annotation

GitHub Actions / buildx (3.5, 20, alpine)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "LABEL key=value" should be used instead of legacy "LABEL key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

ARG REFRESHED_AT
ENV REFRESHED_AT $REFRESHED_AT

Check warning on line 5 in 3.5/20/alpine/Dockerfile

View workflow job for this annotation

GitHub Actions / buildx (3.5, 20, alpine)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

RUN echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/community >> /etc/apk/repositories \
&& echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.20/main >> /etc/apk/repositories \
&& apk -U upgrade \
&& apk add --no-cache \
ada-libs@old-stable \
nodejs@old-stable \
npm@old-stable \
yarn
25 changes: 25 additions & 0 deletions 3.5/20/slim/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
FROM ruby:3.5-rc-slim
LABEL maintainer "Tim Brust <github@timbrust.de>"

Check warning on line 2 in 3.5/20/slim/Dockerfile

View workflow job for this annotation

GitHub Actions / buildx (3.5, 20, slim)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "LABEL key=value" should be used instead of legacy "LABEL key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

ARG REFRESHED_AT
ENV REFRESHED_AT $REFRESHED_AT

Check warning on line 5 in 3.5/20/slim/Dockerfile

View workflow job for this annotation

GitHub Actions / buildx (3.5, 20, slim)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/
ARG NODE_MAJOR=20

# hadolint ignore=DL3009
RUN apt-get update -qq && apt-get install -qq --no-install-recommends \
curl \
gnupg2 \
libatomic1

SHELL ["/bin/bash", "-o", "pipefail", "-c"]

RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \
&& mkdir -p /etc/apt/keyrings \
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
&& 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 \
&& apt-get update -qq && apt-get install -qq --no-install-recommends \
nodejs \
&& apt-get upgrade -qq \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*\
&& npm install -g yarn@1
19 changes: 19 additions & 0 deletions 3.5/22/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
FROM ruby:3.5-rc
LABEL maintainer "Tim Brust <github@timbrust.de>"

Check warning on line 2 in 3.5/22/Dockerfile

View workflow job for this annotation

GitHub Actions / buildx (3.5, 22, default)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "LABEL key=value" should be used instead of legacy "LABEL key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

ARG REFRESHED_AT
ENV REFRESHED_AT $REFRESHED_AT

Check warning on line 5 in 3.5/22/Dockerfile

View workflow job for this annotation

GitHub Actions / buildx (3.5, 22, default)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/
ARG NODE_MAJOR=22

SHELL ["/bin/bash", "-o", "pipefail", "-c"]

RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \
&& mkdir -p /etc/apt/keyrings \
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
&& 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 \
&& apt-get update -qq && apt-get install -qq --no-install-recommends \
nodejs \
&& apt-get upgrade -qq \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*\
&& npm install -g yarn@1
11 changes: 11 additions & 0 deletions 3.5/22/alpine/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
FROM ruby:3.5-rc-alpine
LABEL maintainer "Tim Brust <github@timbrust.de>"

Check warning on line 2 in 3.5/22/alpine/Dockerfile

View workflow job for this annotation

GitHub Actions / buildx (3.5, 22, alpine)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "LABEL key=value" should be used instead of legacy "LABEL key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

ARG REFRESHED_AT
ENV REFRESHED_AT $REFRESHED_AT

Check warning on line 5 in 3.5/22/alpine/Dockerfile

View workflow job for this annotation

GitHub Actions / buildx (3.5, 22, alpine)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

RUN apk -U upgrade \
&& apk add --no-cache \
nodejs \
npm \
yarn
25 changes: 25 additions & 0 deletions 3.5/22/slim/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
FROM ruby:3.5-rc
LABEL maintainer "Tim Brust <github@timbrust.de>"

Check warning on line 2 in 3.5/22/slim/Dockerfile

View workflow job for this annotation

GitHub Actions / buildx (3.5, 22, slim)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "LABEL key=value" should be used instead of legacy "LABEL key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

ARG REFRESHED_AT
ENV REFRESHED_AT $REFRESHED_AT

Check warning on line 5 in 3.5/22/slim/Dockerfile

View workflow job for this annotation

GitHub Actions / buildx (3.5, 22, slim)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/
ARG NODE_MAJOR=22

# hadolint ignore=DL3009
RUN apt-get update -qq && apt-get install -qq --no-install-recommends \
curl \
gnupg2 \
libatomic1

SHELL ["/bin/bash", "-o", "pipefail", "-c"]

RUN printf 'Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001' > /etc/apt/preferences.d/nodesource \
&& mkdir -p /etc/apt/keyrings \
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
&& 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 \
&& apt-get update -qq && apt-get install -qq --no-install-recommends \
nodejs \
&& apt-get upgrade -qq \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*\
&& npm install -g yarn@1
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Ruby 3.2, 3.3 or 3.4 with Node.js 20 LTS or Node.js 22 Dockerfile
# Ruby 3.2, 3.3, 3.4, 3.5 (RC) with Node.js 20 LTS or Node.js 22 Dockerfile

[![Docker Automated build](https://img.shields.io/docker/automated/timbru31/ruby-node.svg)](https://hub.docker.com/r/timbru31/ruby-node/)
[![buildx Status](https://github.com/timbru31/docker-ruby-node/workflows/buildx/badge.svg)](https://github.com/timbru31/docker-ruby-node/actions?query=workflow%3Abuildx)
[![Lint Dockerfiles](https://github.com/timbru31/docker-ruby-node/workflows/Lint%20Dockerfiles/badge.svg)](https://github.com/timbru31/docker-ruby-node/actions?query=workflow%3A%22Lint+Dockerfiles%22)

A minimal Dockerfile based on Ruby (3.2, 3.3 or 3.4) Dockerfile (regular, slim or alpine) with Node.js 20 LTS (Iron) or Node.js 22 LTS (Jod) installed.
A minimal Dockerfile based on Ruby (3.2, 3.3, 3.4 or 3.5 (RC)) Dockerfile (regular, slim or alpine) with Node.js 20 LTS (Iron) or Node.js 22 LTS (Jod) installed.

## What's included

- Ruby 3.2, 3.3, 3.4
- Ruby 3.2, 3.3, 3.4, 3.5 (RC)
- Node.js 20 LTS (Iron) or Node.js 22 LTS (Jod)
- bundled npm that comes with the respective Node.js version (latest for Node.js LTS on alpine, see [why](https://gitlab.alpinelinux.org/alpine/aports/-/commit/25b10bd1a93e12a7e49fee38b0a229281ae49fb7))
- yarn
Expand Down
Loading