Skip to content

Commit ed8a808

Browse files
committed
Deprecated ubuntu-20.04 as a base image and target because it no longer supports the newest Ruby's C backend
1 parent 2125ba6 commit ed8a808

4 files changed

Lines changed: 24 additions & 15 deletions

File tree

.github/workflows/build-push.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ on:
1313

1414
jobs:
1515
gather-versions:
16-
runs-on: ubuntu-20.04
16+
runs-on: ubuntu-22.04
1717
outputs:
1818
versions: ${{ steps.ruby-versions.outputs.versions }}
1919
metadata: ${{ steps.ruby-versions.outputs.metadata }}
@@ -22,22 +22,22 @@ jobs:
2222
name: Fetch latest Ruby versions
2323
id: ruby-versions
2424
build-test-push:
25-
runs-on: ubuntu-20.04
25+
runs-on: ubuntu-22.04
2626
needs: ["gather-versions"]
2727
strategy:
2828
matrix:
2929
version: ${{ fromJSON(needs.gather-versions.outputs.versions) }}
30-
image: ["slim", "ubuntu-20.04", "ubuntu-22.04"]
30+
image: ["slim", "ubuntu-22.04", "ubuntu-24.04"]
3131
include: ${{ fromJSON(needs.gather-versions.outputs.metadata) }}
3232
steps:
3333
- name: Set image_name
3434
id: context
3535
run: |
3636
if [[ "${{ matrix.image }}" == "slim" ]] ; then
3737
echo "image_name=ruby:${{ matrix.version }}-slim" >> ${GITHUB_OUTPUT}
38-
elif [[ "${{ matrix.image }}" == "ubuntu-20.04" ]] ; then
39-
echo "image_name=ubuntu:20.04" >> ${GITHUB_OUTPUT}
4038
elif [[ "${{ matrix.image }}" == "ubuntu-22.04" ]] ; then
39+
echo "image_name=ubuntu:20.04" >> ${GITHUB_OUTPUT}
40+
elif [[ "${{ matrix.image }}" == "ubuntu-24.04" ]] ; then
4141
echo "image_name=ubuntu:22.04" >> ${GITHUB_OUTPUT}
4242
fi
4343

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
ARG RUBY_VERSION="3.3.0"
1+
ARG RUBY_VERSION="3.3.1"
22
ARG IMAGE_NAME="ruby:${RUBY_VERSION}-slim"
33
# hadolint ignore=DL3006
44
FROM ${IMAGE_NAME}
@@ -7,7 +7,7 @@ LABEL maintainer="Moritz Heiber <hello@heiber.im>"
77
LABEL org.opencontainers.image.source=https://github.com/moritzheiber/ruby-jemalloc-docker
88

99
ARG RUBY_VERSION
10-
ARG RUBY_CHECKSUM="96518814d9832bece92a85415a819d4893b307db5921ae1f0f751a9a89a56b7d"
10+
ARG RUBY_CHECKSUM="8dc2af2802cc700cd182d5430726388ccf885b3f0a14fcd6a0f21ff249c9aa99"
1111
ARG ADDITIONAL_FLAGS
1212

1313
ENV DEBIAN_FRONTEND="noninteractive" \

README.md

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
A Docker image for Ruby, built with [`jemalloc`](https://scalingo.com/blog/improve-ruby-application-memory-jemalloc).
44

5-
The images are based on [the offical Ruby "slim"](https://hub.docker.com/_/ruby) and [official Ubuntu "20.04"/"22.04" (LTS) images](https://hub.docker.com/_/ubuntu) on Docker Hub.
5+
The images are based on [the offical Ruby "slim"](https://hub.docker.com/_/ruby) and [official Ubuntu "22.04"/"24.04" (LTS) images](https://hub.docker.com/_/ubuntu) on Docker Hub.
66

77
The following images are used:
88

99
- `ruby:${RUBY_VERSION}-slim`
10-
- `ubuntu:20.04`
1110
- `ubuntu:22.04`
11+
- `ubuntu:24.04`
1212

1313
The following platforms are built:
1414

@@ -31,10 +31,15 @@ Container images are available but no longer maintained for the following versio
3131
- `3.0.6`
3232
- `3.1.2`
3333
- `3.1.3`
34+
- `3.1.4`
3435
- `3.2.0`
3536
- `3.2.1`
3637
- `3.2.2`
38+
- `3.2.3`
39+
40+
and the following platforms:
3741

42+
- `ubuntu-20.04`
3843

3944
## Support for newer Ruby versions
4045

@@ -69,7 +74,7 @@ $ docker run ghcr.io/moritzheiber/ruby-version-checker
6974
```
7075

7176

72-
If you wish to pass additional compile-time options you can use the build argument `ADDITIONAL_FLAGS` (e.g. to enable YJIT support for Ruby `3.2.x`):
77+
If you wish to pass additional compile-time options you can use the build argument `ADDITIONAL_FLAGS` (e.g. to enable YJIT support for Ruby >= `3.2.x`):
7378

7479
```console
7580
$ docker build \
@@ -87,7 +92,7 @@ $ docker build \
8792
--build-arg IMAGE_NAME=ubuntu:22.04 \
8893
-t ruby-jemalloc:3.1.4-ubuntu-22.04 .
8994
```
90-
_Note: Ruby `3.3.0-slim` is the default when building the Docker image without any build arguments._
95+
_Note: Ruby `3.3.1-slim` is the default when building the Docker image without any build arguments._
9196

9297
## Tests
9398

@@ -100,7 +105,7 @@ dgoss run -ti ruby-jemalloc
100105
You can specify the Ruby version to test for by passing `RUBY_VERSION` as a variable:
101106

102107
```console
103-
dgoss run -ti -e RUBY_VERSION=3.3.0 ruby-jemalloc
108+
dgoss run -ti -e RUBY_VERSION=3.3.1 ruby-jemalloc
104109
```
105110

106-
_Note: `3.3.0` is the default. And don't forget to also pass the correct `RUBY_CHECKSUM`._
111+
_Note: `3.3.1` is the default. And don't forget to also pass the correct `RUBY_CHECKSUM`._

templates/README.template

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
A Docker image for Ruby, built with [`jemalloc`](https://scalingo.com/blog/improve-ruby-application-memory-jemalloc).
44

5-
The images are based on [the official Ruby "slim"](https://hub.docker.com/_/ruby) and [official Ubuntu "20.04"/"22.04" (LTS) images](https://hub.docker.com/_/ubuntu) on Docker Hub.
5+
The images are based on [the official Ruby "slim"](https://hub.docker.com/_/ruby) and [official Ubuntu "22.04"/"24.04" (LTS) images](https://hub.docker.com/_/ubuntu) on Docker Hub.
66

77
The following images are used:
88

99
- `ruby:${RUBY_VERSION}-slim`
10-
- `ubuntu:20.04`
1110
- `ubuntu:22.04`
11+
- `ubuntu:24.04`
1212

1313
The following platforms are built:
1414

@@ -30,6 +30,10 @@ Container images are available but no longer maintained for the following versio
3030
- `{% item %}`
3131
{% end %}
3232

33+
and following platforms:
34+
35+
- `ubuntu-20.04`
36+
3337
## Support for newer Ruby versions
3438

3539
GitHub Actions is set up to gather the latest available Ruby versions with the [ruby-versions-action](https://github.com/moritzheiber/ruby-versions-action) and feed it to the build process. The plan is to run the build pipeline and update the REAMDE from a template regularly (e.g. weekly) in the future. For now this has to be done manually, so feel free to open a new issue once a new release needs to be supported (it usually takes a few minutes to trigger the pipeline and update the README).

0 commit comments

Comments
 (0)