Bump Docker base images to Ubuntu 24.04 / Debian Trixie#1261
Open
mbouaziz wants to merge 5 commits into
Open
Conversation
Main Dockerfile moves to ubuntu:24.04 (Noble LTS); skiplang/Dockerfile moves to debian:trixie-20260518-slim. The trixie jump raises the minimum glibc for libskipruntime.so binary releases from 2.36 to 2.41, dropping support for Bookworm-era systems (Debian 12, Ubuntu 22.04, RHEL 8/9). Also update LLVM apt repo codenames (jammy → noble in apt-install.sh, bookworm → trixie in skiplang/Dockerfile), and add --break-system-packages to the pip install in apt-install.sh since Ubuntu 24.04 enforces PEP 668. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
libskipruntime.so is now built on Debian Trixie (glibc 2.41). Detect the host glibc via ldd and refuse to install on older systems with a message pointing to @skipruntime/wasm, rather than letting the user discover the incompatibility at dlopen time via an opaque "GLIBC_2.41 not found" error. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Add a Requirements section to the addon README pointing users on older hosts at @skipruntime/wasm, and update the release procedure to require release notes state the glibc floor and to verify it via objdump. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Add os/cpu/libc to package.json so npm refuses installation on Windows/macOS, ia32/non-amd64-arm64, and musl-based hosts that cannot load libskipruntime.so. When this package is installed via the @skiplabs/skip meta-package as an optionalDependency, npm will then silently skip it on incompatible hosts and the consumer falls back to @skipruntime/wasm. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
README, INSTALL, and the getting-started doc all describe the native vs wasm runtime trade-off but said nothing about platform support. Note the Linux amd64/arm64 + glibc >= 2.41 floor so users on Windows, macOS, or older Linux distros are steered to @skipruntime/wasm up front rather than hitting it at npm install / dlopen time. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
jberdine
approved these changes
Jun 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Dockerfiletoubuntu:24.04,skiplang/Dockerfiletodebian:trixie-20260518-slim(and parallel LLVM apt-repo +apt-install.shcodename changes;--break-system-packagesfor PEP 668 on Noble).libskipruntime.soreleases now require glibc ≥ 2.41 — dropping Debian 12, Ubuntu 22.04, RHEL 8/9 from the supported set for the native runtime.install_runtime.shrefuses to install on older hosts (steering them to@skipruntime/wasm);@skipruntime/native'spackage.jsonaddsos/cpu/libcso npm itself enforces it viaoptionalDependenciesin@skiplabs/skip; READMEs andbin/README.mdrelease procedure document the floor.Test plan
skiplabs/skiplang,skiplabs/skiplang-bin-builder,skiplabs/skdb-base,skiplabs/skip(amd64 + arm64) so CI exercises the new baseobjdump -T build/libskipruntime.so-linux-amd64 | grep -oE 'GLIBC_[0-9.]+' | sort -Vu | tailconfirms the floor moved to 2.41bin/install_runtime.shon an Ubuntu 22.04 host and verify it refuses with the wasm hint, instead of installing a binary that fails to dlopennpm install @skipruntime/nativeon macOS / Windows now no-ops via theosconstraint (or errors clearly), instead of trying to build the native addonFollow-ups (not in this PR)
build.gradle.ktssskipruntime-ts/tests/native_addon{,_unreleased}/Dockerfileoff floatingubuntu:latest