From 216ceff5c6491fcf72cc247e85faba97e8859032 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Wed, 14 Oct 2026 13:25:12 +0900 Subject: [PATCH 1/4] Copy OpenSSL's CA lookup path into the compilers stage apt 3 on resolute verifies TLS with OpenSSL, which finds CAs through /usr/lib/ssl, so with only /etc/ssl copied every https source such as apt.llvm.org failed with "certificate verify failed". Co-Authored-By: Claude Opus 5.5 --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index ecb7720..84b5295 100644 --- a/Dockerfile +++ b/Dockerfile @@ -48,6 +48,7 @@ ARG packages LABEL maintainer=shyouhei@ruby-lang.org ENV DEBIAN_FRONTEND=noninteractive COPY --from=assets /etc/ssl /etc/ssl +COPY --from=assets /usr/lib/ssl /usr/lib/ssl COPY --from=assets /etc/apt /etc/apt COPY --from=assets /etc/dpkg /etc/dpkg COPY --from=assets /etc/sudoers.d /etc/sudoers.d From 1ca543bb9d2e0f59aead18c46018f0ab9a488405 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Wed, 14 Oct 2026 13:25:31 +0900 Subject: [PATCH 2/4] Build each compiler on the newest Ubuntu LTS that ships it clang-23 lost its package source when apt.llvm.org's unversioned noble repository moved to LLVM 24, and gcc-15 was on plucky, which is past its end of life. resolute carries most of the compilers, and the older ones fall back to noble, jammy and focal only where resolute lacks the package. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/publish.yml | 39 ++++++++++++++++++----------------- assets/99resolute.list | 11 ++++++++++ 2 files changed, 31 insertions(+), 19 deletions(-) create mode 100644 assets/99resolute.list diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 974d02c..fb612df 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -21,29 +21,30 @@ jobs: matrix: # Ruby 3.4 requires BASERUBY 3.0 entry: - - { os: 'plucky', tag: 'gcc-15', extras: 'g++-15' } - - { os: 'noble', tag: 'gcc-14', extras: 'g++-14' } - - { os: 'noble', tag: 'gcc-13', extras: 'g++-13' } - - { os: 'jammy', tag: 'gcc-12', extras: 'g++-12' } - - { os: 'jammy', tag: 'gcc-11', extras: 'g++-11' } - - { os: 'jammy', tag: 'gcc-10', extras: 'g++-10' } - - { os: 'jammy', tag: 'gcc-9', extras: 'g++-9' } + - { os: 'resolute', tag: 'gcc-15', extras: 'g++-15' } + - { os: 'resolute', tag: 'gcc-14', extras: 'g++-14' } + - { os: 'resolute', tag: 'gcc-13', extras: 'g++-13' } + - { os: 'resolute', tag: 'gcc-12', extras: 'g++-12' } + # ruby/ruby's annocheck installs Ruby 3.1 with ruby/setup-ruby in this image, which has no build for resolute. + - { os: 'noble', tag: 'gcc-11', extras: 'g++-11' } + - { os: 'noble', tag: 'gcc-10', extras: 'g++-10' } + - { os: 'noble', tag: 'gcc-9', extras: 'g++-9' } - { os: 'focal', tag: 'gcc-8', extras: 'g++-8' } - { os: 'focal', tag: 'gcc-7', extras: 'g++-7' } - - { os: 'noble', tag: 'clang-23', extras: 'llvm-23' } - - { os: 'noble', tag: 'clang-22', extras: 'llvm-22' } - - { os: 'noble', tag: 'clang-21', extras: 'llvm-21' } - - { os: 'noble', tag: 'clang-20', extras: 'llvm-20' } - - { os: 'noble', tag: 'clang-19', extras: 'llvm-19' } - - { os: 'noble', tag: 'clang-18', extras: 'llvm-18' } - - { os: 'noble', tag: 'clang-17', extras: 'llvm-17' } - - { os: 'jammy', tag: 'clang-16', extras: 'llvm-16' } - - { os: 'jammy', tag: 'clang-15', extras: 'llvm-15' } - - { os: 'jammy', tag: 'clang-14', extras: 'llvm-14' } + - { os: 'resolute', tag: 'clang-23', extras: 'llvm-23' } + - { os: 'resolute', tag: 'clang-22', extras: 'llvm-22' } + - { os: 'resolute', tag: 'clang-21', extras: 'llvm-21' } + - { os: 'resolute', tag: 'clang-20', extras: 'llvm-20' } + - { os: 'resolute', tag: 'clang-19', extras: 'llvm-19' } + - { os: 'resolute', tag: 'clang-18', extras: 'llvm-18' } + - { os: 'resolute', tag: 'clang-17', extras: 'llvm-17' } + - { os: 'noble', tag: 'clang-16', extras: 'llvm-16' } + - { os: 'noble', tag: 'clang-15', extras: 'llvm-15' } + - { os: 'noble', tag: 'clang-14', extras: 'llvm-14' } - { os: 'jammy', tag: 'clang-13', extras: 'llvm-13' } - - { os: 'focal', tag: 'clang-12', extras: 'llvm-12' } - - { os: 'focal', tag: 'clang-11', extras: 'llvm-11' } + - { os: 'jammy', tag: 'clang-12', extras: 'llvm-12' } + - { os: 'jammy', tag: 'clang-11', extras: 'llvm-11' } - { os: 'focal', tag: 'clang-10', extras: 'llvm-10' } - { os: 'focal', tag: 'clang-9', extras: 'llvm-9' } - { os: 'focal', tag: 'clang-8', extras: 'llvm-8' } diff --git a/assets/99resolute.list b/assets/99resolute.list new file mode 100644 index 0000000..e2fef61 --- /dev/null +++ b/assets/99resolute.list @@ -0,0 +1,11 @@ +deb [signed-by=/etc/apt/keyrings/ubuntu-toolchain-r.asc] http://ppa.launchpad.net/ubuntu-toolchain-r/ppa/ubuntu resolute main +deb [signed-by=/etc/apt/keyrings/ubuntu-toolchain-r.asc] http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu resolute main +deb [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg.key.asc] http://apt.llvm.org/resolute/ llvm-toolchain-resolute-21 main +deb [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg.key.asc] http://apt.llvm.org/resolute/ llvm-toolchain-resolute-22 main +deb [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg.key.asc] http://apt.llvm.org/resolute/ llvm-toolchain-resolute-23 main + +deb-src [signed-by=/etc/apt/keyrings/ubuntu-toolchain-r.asc] http://ppa.launchpad.net/ubuntu-toolchain-r/ppa/ubuntu resolute main +deb-src [signed-by=/etc/apt/keyrings/ubuntu-toolchain-r.asc] http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu resolute main +deb-src [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg.key.asc] http://apt.llvm.org/resolute/ llvm-toolchain-resolute-21 main +deb-src [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg.key.asc] http://apt.llvm.org/resolute/ llvm-toolchain-resolute-22 main +deb-src [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg.key.asc] http://apt.llvm.org/resolute/ llvm-toolchain-resolute-23 main From 51c1bff49a7d91f40e0b0b3a168acc0d3627e7ed Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Wed, 14 Oct 2026 13:25:40 +0900 Subject: [PATCH 3/4] Add clang-24 and gcc-16 apt.llvm.org's trunk is now LLVM 24, and resolute ships a GCC 16 snapshot. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/publish.yml | 2 ++ assets/99resolute.list | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index fb612df..73e2d09 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -21,6 +21,7 @@ jobs: matrix: # Ruby 3.4 requires BASERUBY 3.0 entry: + - { os: 'resolute', tag: 'gcc-16', extras: 'g++-16' } - { os: 'resolute', tag: 'gcc-15', extras: 'g++-15' } - { os: 'resolute', tag: 'gcc-14', extras: 'g++-14' } - { os: 'resolute', tag: 'gcc-13', extras: 'g++-13' } @@ -32,6 +33,7 @@ jobs: - { os: 'focal', tag: 'gcc-8', extras: 'g++-8' } - { os: 'focal', tag: 'gcc-7', extras: 'g++-7' } + - { os: 'resolute', tag: 'clang-24', extras: 'llvm-24' } - { os: 'resolute', tag: 'clang-23', extras: 'llvm-23' } - { os: 'resolute', tag: 'clang-22', extras: 'llvm-22' } - { os: 'resolute', tag: 'clang-21', extras: 'llvm-21' } diff --git a/assets/99resolute.list b/assets/99resolute.list index e2fef61..81f9f8c 100644 --- a/assets/99resolute.list +++ b/assets/99resolute.list @@ -3,9 +3,11 @@ deb [signed-by=/etc/apt/keyrings/ubuntu-toolchain-r.asc] http://ppa.launchpad.ne deb [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg.key.asc] http://apt.llvm.org/resolute/ llvm-toolchain-resolute-21 main deb [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg.key.asc] http://apt.llvm.org/resolute/ llvm-toolchain-resolute-22 main deb [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg.key.asc] http://apt.llvm.org/resolute/ llvm-toolchain-resolute-23 main +deb [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg.key.asc] http://apt.llvm.org/resolute/ llvm-toolchain-resolute main deb-src [signed-by=/etc/apt/keyrings/ubuntu-toolchain-r.asc] http://ppa.launchpad.net/ubuntu-toolchain-r/ppa/ubuntu resolute main deb-src [signed-by=/etc/apt/keyrings/ubuntu-toolchain-r.asc] http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu resolute main deb-src [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg.key.asc] http://apt.llvm.org/resolute/ llvm-toolchain-resolute-21 main deb-src [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg.key.asc] http://apt.llvm.org/resolute/ llvm-toolchain-resolute-22 main deb-src [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg.key.asc] http://apt.llvm.org/resolute/ llvm-toolchain-resolute-23 main +deb-src [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg.key.asc] http://apt.llvm.org/resolute/ llvm-toolchain-resolute main From 04a4de0fa9257b6185ad1dc8576f37b928407cb8 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Wed, 14 Oct 2026 13:25:40 +0900 Subject: [PATCH 4/4] Remove unused plucky apt list Co-Authored-By: Claude Opus 5.5 --- assets/99plucky.list | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 assets/99plucky.list diff --git a/assets/99plucky.list b/assets/99plucky.list deleted file mode 100644 index e4f5502..0000000 --- a/assets/99plucky.list +++ /dev/null @@ -1,7 +0,0 @@ -deb [signed-by=/etc/apt/keyrings/ubuntu-toolchain-r.asc] http://ppa.launchpad.net/ubuntu-toolchain-r/ppa/ubuntu plucky main -deb [signed-by=/etc/apt/keyrings/ubuntu-toolchain-r.asc] http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu plucky main -deb [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg.key.asc] http://apt.llvm.org/plucky/ llvm-toolchain-plucky main - -deb-src [signed-by=/etc/apt/keyrings/ubuntu-toolchain-r.asc] http://ppa.launchpad.net/ubuntu-toolchain-r/ppa/ubuntu plucky main -deb-src [signed-by=/etc/apt/keyrings/ubuntu-toolchain-r.asc] http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu plucky main -deb-src [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg.key.asc] http://apt.llvm.org/plucky/ llvm-toolchain-plucky main