Salut - tout d’abord, disons que j’aurais préféré pouvoir soumettre ce rapport de bug directement sur le dépôt : GitHub - discourse/discourse_theme: CLI helper for developing Discourse themes - car je ne suis pas sûr d’être au bon endroit ici ?
discourse_theme est un outil Ruby et comme je ne veux pas de Ruby sur mon ordinateur. Et comme je veux des versions Ruby homogènes pour toute mon équipe, j’ai créé cette image Docker :
# syntax = docker/dockerfile:1.10
# Assurez-vous que RUBY_VERSION correspond à la version Ruby dans .ruby-version et Gemfile
ARG RUBY_VERSION=3.4.2
ARG ALPINE_VERSION=3.20
FROM ruby:$RUBY_VERSION-alpine${ALPINE_VERSION}
# Installer les paquets
RUN --mount=type=cache,id=dev-apk-cache,sharing=locked,target=/var/cache/apk \
--mount=type=cache,id=dev-apk-lib,sharing=locked,target=/var/lib/apk \
apk add \
ca-certificates \
bash \
tzdata \
xz-libs \
gcompat \
zstd-libs \
libpq
RUN gem install discourse_theme
ENTRYPOINT ["discourse_theme"]
Je peux l’exécuter comme ceci :
# BUILD d'abord
docker build -t discourse_theme:latest .
# RUN WATCH
docker run -i -t --rm -v $(pwd):/root -w /root discourse_theme:latest watch .
Le problème que je veux signaler ici concerne l’interactivité de la CLI.
Il n’y a pas d’interactivité au clavier dans Docker.
Je vois ceci lors de l’exécution :
Si j’appuie sur une touche fléchée, le message d’aide disparaît, mais l’option verte « sélectionnée » ne bouge jamais :
Je pense donc qu’il s’agit d’un bug dans le Gem. Il a détecté une pression de touche, mais il n’a pas déplacé la sélection. J’ai testé de nombreuses combinaisons de touches.
Un autre test que j’ai effectué a été d’exécuter bash dans l’image, puis de lancer discourse_theme à partir de là, mais c’est le même problème.
$ docker run -it --rm -v $(pwd):/root -w /root --entrypoint /bin/bash discourse_theme:latest
9f5736f3265e:~# discourse_theme watch .
Est-ce un comportement normal pour les outils CLI Ruby ou y a-t-il un bug ? Merci

