Generate a UTF-8 locale in the ramekin image
Ruby reads source in the default external encoding, and without a
generated locale it falls back to US-ASCII, so steep hangs on the em
dashes in this repo's comments instead of failing.
Assisted-by: GLM-5.3 via pi
diff --git a/.ramekin/Dockerfile b/.ramekin/Dockerfile
index a32b31a..eb27630 100644
--- a/.ramekin/Dockerfile
+++ b/.ramekin/Dockerfile
@@ -13,12 +13,22 @@ ENV RUBY_VERSION=${RUBY_VERSION}
# Toolchain and headers for building Ruby and for any native gem that lacks a
# precompiled binary (nokogiri and puma usually ship one, but keep these).
+# locales because RBS reads source in the default external encoding and this
+# repo's comments carry em dashes: without a generated UTF-8 locale, steep's
+# worker dies on them as US-ASCII and the master waits on it forever — a hang,
+# not an error.
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential autoconf bison \
libssl-dev libyaml-dev libreadline-dev zlib1g-dev libffi-dev \
- ca-certificates wget \
+ ca-certificates wget locales \
&& rm -rf /var/lib/apt/lists/*
+# A locale named in the environment but never generated is as good as absent
+# — Ruby falls back to US-ASCII — so generate it and set it as the default.
+RUN sed -i 's/^# *en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && locale-gen
+ENV LANG=en_US.UTF-8 \
+ LC_ALL=en_US.UTF-8
+
RUN wget -q "https://cache.ruby-lang.org/pub/ruby/${RUBY_VERSION%.*}/ruby-${RUBY_VERSION}.tar.gz" \
&& tar -xzf "ruby-${RUBY_VERSION}.tar.gz" \
&& cd "ruby-${RUBY_VERSION}" \