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: 2 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ jobs:
debug_suffix: ['', '-debug']
dev_suffix: ['', '-dev']
ubuntu_version:
- resolute
- noble
- jammy
arch: ['amd64', 'arm64']
Expand Down Expand Up @@ -131,6 +132,7 @@ jobs:
registry_name: [rubylang, ghcr.io/ruby]
image_version_suffix: ['', '-dev', '-debug', '-debug-dev']
ubuntu_version:
- resolute
- noble
- jammy

Expand Down
9 changes: 5 additions & 4 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,14 @@ jobs:
strategy:
matrix:
ubuntu_version:
- resolute
- noble
- jammy
ruby_version:
- 3.2.8
- 3.3.7
- 3.4.2
- 4.0.0-preview2
- 3.2.11
- 3.3.11
- 3.4.9
- 4.0.4
- master
arch:
- amd64
Expand Down
19 changes: 18 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ This repository provides two flavors of Ruby images for each supported version:
- **Production** (e.g. `rubylang/ruby:4.0-noble`): minimal image with Ruby and bundler installed.
- **Development** (e.g. `rubylang/ruby:4.0-dev-noble`): based on the production image, with `build-essential`, `gdb`, and other development tools added. The `-dev` suffix follows the version number.

All images are based on Ubuntu (noble or jammy) and are built by running `make install` on the official Ruby source tarball.
The images listed below are based on Ubuntu noble, resolute, or jammy, and are built by running `make install` on the official Ruby source tarball. Unsuffixed tags such as `rubylang/ruby:4.0` and `rubylang/ruby:latest` currently track the noble images.

## Images

Expand All @@ -46,6 +46,23 @@ All images are based on Ubuntu (noble or jammy) and are built by running `make i
- `rubylang/ruby:3.3-noble`
- `rubylang/ruby:3.3.11-noble`

### Ubuntu 26.04 (resolute)

- master
- `rubylang/ruby:master-resolute`
- `rubylang/ruby:master-dev-resolute`
- `rubylang/ruby:master-debug-resolute`
- `rubylang/ruby:master-debug-dev-resolute`
- 4.0
- `rubylang/ruby:4.0-resolute`
- `rubylang/ruby:4.0.4-resolute`
- 3.4
- `rubylang/ruby:3.4-resolute`
- `rubylang/ruby:3.4.9-resolute`
- 3.3
- `rubylang/ruby:3.3-resolute`
- `rubylang/ruby:3.3.11-resolute`

### Ubuntu 22.04 (jammy)

- master
Expand Down
6 changes: 3 additions & 3 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
LATEST_UBUNTU_VERSION = "noble"
LATEST_RUBY_VERSION = "3.4"
LATEST_RUBY_VERSION = "4.0"

def download(url)
require "net/http"
Expand Down Expand Up @@ -328,7 +328,7 @@ namespace :docker do
if tag =~ /#{LATEST_UBUNTU_VERSION}/
non_ubuntu_tag = tag.sub(/-#{LATEST_UBUNTU_VERSION}/, '')
sh 'docker', 'manifest', 'create', "#{non_ubuntu_tag}", *amend_args
if image_version_suffix.empty? && ruby_version =~ /^#{LATEST_RUBY_VERSION}/ && latest_tag.nil?
if image_version_suffix.empty? && ruby_version =~ /\A#{Regexp.escape(LATEST_RUBY_VERSION)}\.\d+\z/ && latest_tag.nil?
latest_tag = tag.sub(/#{ruby_version}-#{LATEST_UBUNTU_VERSION}/, "latest")
sh 'docker', 'manifest', 'create', "#{latest_tag}", *amend_args
end
Expand All @@ -349,7 +349,7 @@ namespace :docker do
if tag =~ /#{LATEST_UBUNTU_VERSION}/
non_ubuntu_tag = tag.sub(/-#{LATEST_UBUNTU_VERSION}/, '')
sh 'docker', 'manifest', 'push', "#{non_ubuntu_tag}"
if image_version_suffix.empty? && ruby_version =~ /^#{LATEST_RUBY_VERSION}/ && latest_tag.nil?
if image_version_suffix.empty? && ruby_version =~ /\A#{Regexp.escape(LATEST_RUBY_VERSION)}\.\d+\z/ && latest_tag.nil?
latest_tag = tag.sub(/#{ruby_version}-#{LATEST_UBUNTU_VERSION}/, "latest")
sh 'docker', 'manifest', 'push', "#{latest_tag}"
end
Expand Down
Loading