SIGN IN SIGN UP

fix: Debian 13 builder compatibility for mise 2026.8.6 (#705)

* fix: update mise to 2026.8.6

* test: update snapshots

* chore: update go, mise, and bun packages

* test: update mise lock with latest version

* fix(mise): explicitly disable minimum release age on fallback query

Generated-by: aiautocommit

* fix: Debian 13 ICU for Dotnet and GCC 14 flags for Ruby gems

The Trixie builder no longer pulls libicu in transitively, so the
Dotnet SDK crashes during restore. Install libicu-dev as a build
apt package.

GCC 14 treats incompatible pointer types as errors, which breaks
older native gems such as nio4r 2.5 (Puma, Action Cable). Keep
that diagnostic as a warning while compiling extensions.

* fix(ruby): pass GCC 14 flags through CC so native gems compile

Gem Makefiles assign CFLAGS with "=", so the environment variable
set in the previous commit never reached nio4r's compiler. Put the
warning flag on CC/CXX and tell make to honor the environment.

* fix(ruby): stop overriding make CFLAGS so aarch64 keeps -fPIC

make --environment-overrides replaced the extconf CFLAGS and dropped
-fPIC, which made nio4r fail to link on arm64. Keep the GCC 14 flag
only on CC/CXX.

* fix(ruby): honor env CC without replacing extconf CFLAGS

Make assigns CC and CFLAGS with "=". --environment-overrides is
needed so CC="gcc -Wno-error=..." is used, but CFLAGS must stay
unset so -fPIC from extconf is kept on aarch64.

* fix(ruby): install libicu-dev when compiling charlock_holmes

Trixie's libxml2 no longer depends on libicu, so the builder lost
ICU headers that Bookworm provided via libxml2-dev. charlock_holmes
needs those headers at bundle install, not only at runtime.

* chore: drop upgrade-only comments from ICU apt installs

Bookworm vs Trixie libxml2 history belongs in the PR description.

* fix(ruby): compile native C++ extensions as C++17 for ICU headers

charlock_holmes finds libicu now, but ICU 76 headers need C++14+
library types. Pass -std=c++17 on CXX.

* fix(ruby): apply C++17 via CXXFLAGS so ICU gems compile

extconf may emit -std= after CXX, which dropped -std=c++17 from the
compiler command. Set CXXFLAGS=-fPIC -std=c++17 under
--environment-overrides instead.

Comments only document lasting extconf/make and SDK behavior.
Bookworm vs Trixie and the GCC 14 cut belong in the PR description.

* chore(examples): bump nio4r from 2.5.8 to 2.7.5

2.5.8 is from 2021 and fails to compile on GCC 14. Puma 5 already
allows nio4r ~> 2.0, so this is a lock-only bump.

* docs(dotnet): restore the existing Runtime Packages wording

* fix: install libicu-dev on the builder image

Providers no longer add it as a supporting apt package. Runtime
installs for .NET and charlock_holmes are unchanged.

* feat: warn when custom apt packages meet the Debian 13 image

Log an info plan notice if the user set build or deploy apt packages
via env vars or railpack.json. Remove after 2026-10-17.

* refactor: inline custom apt-package check into the Debian notice

Keep the temporary notice as a single function so it is easier to
delete after 2026-10-17.

* fix(ruby): stop injecting GCC compatibility flags

Examples now lock nio4r 2.7.5. Users who still hit GCC 14 or ICU
C++ errors should upgrade gems or set CC/CXX/CXXFLAGS/MAKE themselves.

* chore(examples): bump charlock_holmes from 0.7.7 to 0.7.9

0.7.9 detects ICU and adds -std=c++17, so it compiles on Trixie
without Railpack injecting CXXFLAGS.

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
M
Michael Bianco committed
ee7025beb4f582afab7dd0853faeb2c364412a38
Parent: b90fe7f
Committed by GitHub <noreply@github.com> on 8/18/2026, 1:17:16 PM