diff --git a/.github/workflows/buildx.yml b/.github/workflows/buildx.yml index 636fd75..bf7bd23 100644 --- a/.github/workflows/buildx.yml +++ b/.github/workflows/buildx.yml @@ -14,7 +14,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: [3.2, 3.3, 3.4, 3.5] + ruby-version: ["3.2", "3.3", "3.4", "4.0"] node-version: [20, 22, 24] variant: [default, slim, alpine] include: @@ -52,7 +52,7 @@ jobs: fi TAGS="${DOCKER_IMAGE}:${VERSION}${VARIANT}-${{ matrix.node-version }}" TAGS="${TAGS},${DOCKER_IMAGE}:${VERSION}${VARIANT}-${NODE_CODENAME}" - if [ "${{ matrix.ruby-version }}" = "3.4" ] && [ "${{ matrix.node-version }}" = "22" ]; then + if [ "${{ matrix.ruby-version }}" = "4.0" ] && [ "${{ matrix.node-version }}" = "24" ]; then if [ "${{ matrix.variant }}" = "default" ]; then TAGS="${TAGS},${DOCKER_IMAGE}:3,${DOCKER_IMAGE}:latest" elif [ "${{ matrix.variant }}" = "slim" ]; then diff --git a/.github/workflows/dockerimage.yml b/.github/workflows/dockerimage.yml index b9bef59..363e7d2 100644 --- a/.github/workflows/dockerimage.yml +++ b/.github/workflows/dockerimage.yml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: [3.2, 3.3, 3.4, 3.5] + ruby-version: ["3.2", "3.3", "3.4", "4.0"] node-version: [20, 22, 24] variant: [default, slim, alpine] diff --git a/.github/workflows/hadolint.yml b/.github/workflows/hadolint.yml index 334a181..e371fa2 100644 --- a/.github/workflows/hadolint.yml +++ b/.github/workflows/hadolint.yml @@ -15,5 +15,5 @@ jobs: - run: brew install hadolint - run: | - hadolint {3.2,3.3,3.4,3.5}/**/*Dockerfile - hadolint {3.2,3.3,3.4,3.5}/**/**/*Dockerfile + hadolint {3.2,3.3,3.4,4.0}/**/*Dockerfile + hadolint {3.2,3.3,3.4,4.0}/**/**/*Dockerfile diff --git a/3.5/22/alpine/Dockerfile b/3.5/22/alpine/Dockerfile deleted file mode 100644 index 1e52fac..0000000 --- a/3.5/22/alpine/Dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -FROM ruby:3.5-rc-alpine -LABEL maintainer "Tim Brust " - -ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT - -RUN apk -U upgrade \ - && apk add --no-cache \ - nodejs \ - npm \ - yarn diff --git a/3.5/20/Dockerfile b/4.0/20/Dockerfile similarity index 96% rename from 3.5/20/Dockerfile rename to 4.0/20/Dockerfile index 2e61058..fe98300 100644 --- a/3.5/20/Dockerfile +++ b/4.0/20/Dockerfile @@ -1,19 +1,19 @@ -FROM ruby:3.5-rc -LABEL maintainer "Tim Brust " - -ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT -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 +FROM ruby:4.0 +LABEL maintainer "Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT $REFRESHED_AT +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 diff --git a/3.5/20/alpine/Dockerfile b/4.0/20/alpine/Dockerfile similarity index 92% rename from 3.5/20/alpine/Dockerfile rename to 4.0/20/alpine/Dockerfile index 764de93..d607942 100644 --- a/3.5/20/alpine/Dockerfile +++ b/4.0/20/alpine/Dockerfile @@ -1,14 +1,14 @@ -FROM ruby:3.5-rc-alpine -LABEL maintainer "Tim Brust " - -ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT - -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 +FROM ruby:4.0-alpine +LABEL maintainer "Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT $REFRESHED_AT + +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 diff --git a/3.5/20/slim/Dockerfile b/4.0/20/slim/Dockerfile similarity index 95% rename from 3.5/20/slim/Dockerfile rename to 4.0/20/slim/Dockerfile index a938990..0e551fd 100644 --- a/3.5/20/slim/Dockerfile +++ b/4.0/20/slim/Dockerfile @@ -1,25 +1,25 @@ -FROM ruby:3.5-rc-slim -LABEL maintainer "Tim Brust " - -ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT -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 +FROM ruby:4.0-slim +LABEL maintainer "Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT $REFRESHED_AT +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 diff --git a/3.5/22/Dockerfile b/4.0/22/Dockerfile similarity index 96% rename from 3.5/22/Dockerfile rename to 4.0/22/Dockerfile index e47b206..a5d0214 100644 --- a/3.5/22/Dockerfile +++ b/4.0/22/Dockerfile @@ -1,19 +1,19 @@ -FROM ruby:3.5-rc -LABEL maintainer "Tim Brust " - -ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT -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 +FROM ruby:4.0 +LABEL maintainer "Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT $REFRESHED_AT +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 diff --git a/4.0/22/alpine/Dockerfile b/4.0/22/alpine/Dockerfile new file mode 100644 index 0000000..20b8200 --- /dev/null +++ b/4.0/22/alpine/Dockerfile @@ -0,0 +1,14 @@ +FROM ruby:4.0-alpine +LABEL maintainer "Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT $REFRESHED_AT + +RUN echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.22/community >> /etc/apk/repositories \ + && echo @old-stable https://dl-cdn.alpinelinux.org/alpine/v3.22/main >> /etc/apk/repositories \ + && apk -U upgrade \ + && apk add --no-cache \ + ada-libs@old-stable \ + nodejs@old-stable \ + npm@old-stable \ + yarn diff --git a/3.5/22/slim/Dockerfile b/4.0/22/slim/Dockerfile similarity index 96% rename from 3.5/22/slim/Dockerfile rename to 4.0/22/slim/Dockerfile index ef77840..5ebdc97 100644 --- a/3.5/22/slim/Dockerfile +++ b/4.0/22/slim/Dockerfile @@ -1,25 +1,25 @@ -FROM ruby:3.5-rc -LABEL maintainer "Tim Brust " - -ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT -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 +FROM ruby:4.0 +LABEL maintainer "Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT $REFRESHED_AT +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 diff --git a/3.5/24/Dockerfile b/4.0/24/Dockerfile similarity index 96% rename from 3.5/24/Dockerfile rename to 4.0/24/Dockerfile index 9785f6f..42a8173 100644 --- a/3.5/24/Dockerfile +++ b/4.0/24/Dockerfile @@ -1,19 +1,19 @@ -FROM ruby:3.5-rc -LABEL maintainer "Tim Brust " - -ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT -ARG NODE_MAJOR=24 - -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 +FROM ruby:4.0 +LABEL maintainer "Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT $REFRESHED_AT +ARG NODE_MAJOR=24 + +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 diff --git a/3.5/24/alpine/Dockerfile b/4.0/24/alpine/Dockerfile similarity index 91% rename from 3.5/24/alpine/Dockerfile rename to 4.0/24/alpine/Dockerfile index 7a96e21..7475093 100644 --- a/3.5/24/alpine/Dockerfile +++ b/4.0/24/alpine/Dockerfile @@ -1,13 +1,13 @@ -FROM ruby:3.5-rc-alpine -LABEL maintainer "Tim Brust " - -ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT - -RUN echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories \ - && echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/main >> /etc/apk/repositories \ - apk -U upgrade \ - && apk add --no-cache \ - nodejs-current@edge \ - npm \ - yarn +FROM ruby:4.0-alpine +LABEL maintainer "Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT $REFRESHED_AT + +RUN echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories \ + && echo @edge https://dl-cdn.alpinelinux.org/alpine/edge/main >> /etc/apk/repositories \ + apk -U upgrade \ + && apk add --no-cache \ + nodejs-current@edge \ + npm \ + yarn diff --git a/3.5/24/slim/Dockerfile b/4.0/24/slim/Dockerfile similarity index 96% rename from 3.5/24/slim/Dockerfile rename to 4.0/24/slim/Dockerfile index 5b77f08..1858f59 100644 --- a/3.5/24/slim/Dockerfile +++ b/4.0/24/slim/Dockerfile @@ -1,25 +1,25 @@ -FROM ruby:3.5-rc -LABEL maintainer "Tim Brust " - -ARG REFRESHED_AT -ENV REFRESHED_AT $REFRESHED_AT -ARG NODE_MAJOR=24 - -# 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 +FROM ruby:4.0 +LABEL maintainer "Tim Brust " + +ARG REFRESHED_AT +ENV REFRESHED_AT $REFRESHED_AT +ARG NODE_MAJOR=24 + +# 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 diff --git a/README.md b/README.md index e88a6b3..ac590ef 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@ -# Ruby 3.2, 3.3, 3.4, 3.5 (RC) with Node.js 20 LTS, Node.js 22 LTS or Node.js 24 LTS Dockerfile +# Ruby 3.2, 3.3, 3.4, 4.0 with Node.js 20 LTS, Node.js 22 LTS or Node.js 24 LTS 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, 3.4 or 3.5 (RC)) Dockerfile (regular, slim or alpine) with Node.js 20 LTS (Iron), Node.js 22 LTS (Jod) or Node.js 24 LTS (Krypton) installed. +A minimal Dockerfile based on Ruby (3.2, 3.3, 3.4 or 4.0) Dockerfile (regular, slim or alpine) with Node.js 20 LTS (Iron), Node.js 22 LTS (Jod) or Node.js 24 LTS (Krypton) installed. ## What's included -- Ruby 3.2, 3.3, 3.4, 3.5 (RC) +- Ruby 3.2, 3.3, 3.4, 4.0 - Node.js 20 LTS (Iron), Node.js 22 LTS (Jod) or Node.js 24 LTS (Krypton) - 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