При запуске команды
CI выдавал следующий output
Начали проверять локально - та же самая ситуация - и exit code 123.
Сначала подумали, что это опять приколы MUSL и не GNU-утилит в alpine (find и grep), но проблема была даже при запуске hadolint без аргументов. При этом запуск контейнера от рута работает без ошибок. Потом грешили на cgroups v2 - что не хватает разрешений на запуск утилиты. В issues hadolint ничего подробного не нашлось.
Потом я запустил strace. В начале вывода увидел строчку
и стал копать в эту сторону.
readlink стоит в alpine из коробки в составе busybox (это multi-call binary).
Я поставил coreutils с GNU-той версией readlink и все завелось
find . -type f -name '*Dockerfile*' | xargs hadolint --failure-threshold warning --format json > report.jsonCI выдавал следующий output
/proc/self/exeНачали проверять локально - та же самая ситуация - и exit code 123.
Сначала подумали, что это опять приколы MUSL и не GNU-утилит в alpine (find и grep), но проблема была даже при запуске hadolint без аргументов. При этом запуск контейнера от рута работает без ошибок. Потом грешили на cgroups v2 - что не хватает разрешений на запуск утилиты. В issues hadolint ничего подробного не нашлось.
Потом я запустил strace. В начале вывода увидел строчку
readlink("/proc/self/exe", "/usr/local/bin/hadolint", 4095) = 23и стал копать в эту сторону.
readlink стоит в alpine из коробки в составе busybox (это multi-call binary).
Я поставил coreutils с GNU-той версией readlink и все завелось
🤯5👍1