Задача · DP-7-CI-3 · ДОЛГ · P0

Починка гейта расширения artifacts

Чиним баг: гейт проверки расширения artifacts в entrypoint.sh не срабатывал никогда (кавычки вокруг %{http_code} ломали сравнение). Теперь отказом считаются ненулевой код, пустой вывод и значение 000.

Статус: готово · DP-6-RS-6.1 · все задачи · на главную

Что это за задача

Чиним баг: гейт проверки расширения artifacts в entrypoint.sh не срабатывал никогда (кавычки вокруг %{http_code} ломали сравнение). Теперь отказом считаются ненулевой код, пустой вывод и значение 000.

Зависит от: DP-6-RS-6.1

Задача из листа «Задачи» проекта (DP-7-CI-3, ДОЛГ, приоритет P0). Срез DP-7-CI-3: статус — готово.

Тесткейсы

Кейсы, привязанные к этой задаче в листе «Тесткейсы» (колонка «Единица бэклога»):

TC-IDДаноКогдаТогда
TC-DP-7-CI-3.1-aentrypoint.sh с EXTENSION_CHECK_CMD из значения по умолчанию (переменная в окружении не задана); в PATH стаб curl, записывающий полученные аргументы в файл и печатающий значение своего -w; ARTIFACTS_URI указывает на недостижимый адресentrypoint.sh запускаетсяв записи аргументов -w равен %{http_code} без обрамляющих одинарных кавычек; вывод команды проверки — 000 без кавычек
TC-DP-7-CI-3.1-bEXTENSION_CHECK_CMD задан в окружении (стаб "false"), ARTIFACTS_URI заданentrypoint.sh запускаетсяисполняется команда из окружения без изменений: стаб curl из PATH не вызывается ни разу, исход гейта определён кодом возврата и выводом переданной команды
TC-DP-7-CI-3.2-aтри конфигурации команды проверки, каждая в отдельном прогоне: (1) ненулевой код возврата, вывод пуст; (2) нулевой код возврата, вывод пуст; (3) нулевой код возврата, вывод 000entrypoint.sh запускается на каждой конфигурации по отдельностикаждый прогон завершается кодом возврата 2; sentinel-файл запуска Goose не создан ни в одном из трёх
TC-DP-7-CI-3.2-bте же три конфигурации команды проверки — ненулевой код возврата, пустой вывод, значение 000entrypoint.sh запускается на каждой конфигурации по отдельностисообщение об ошибке называет ARTIFACTS_URI и класс отказа, различный у трёх конфигураций; код возврата у всех трёх — 2, отдельного кода ни один класс не получает
TC-DP-7-CI-3.2-cкоманда проверки завершается нулевым кодом возврата и печатает 404entrypoint.sh запускаетсягейт не останавливает запуск: Goose стартует (sentinel-файл создан), код возврата 2 не выдаётся
TC-DP-7-CI-3.3-aв tests/integration/test_entrypoint.py стаб, воспроизводящий поведение curl с -w: печатает форматированное значение аргумента -w, на недостижимом адресе даёт 000 и ненулевой код возврата; EXTENSION_CHECK_CMD не переопределён, гейт работает на боевой форме командыпрогон нового кейса сьютаentrypoint завершается кодом возврата 2, sentinel-файл запуска Goose отсутствует
TC-DP-7-CI-3.3-bсьют tests/integration/test_entrypoint.py в исходном виде: TC-CI-3.2-d (стаб EXTENSION_CHECK_CMD="false") и TC-CI-3.3-a (0/1/3/файл отсутствует→1) не правятсясьют прогоняется целиком после изменения гейтаTC-CI-3.2-d зелёный на неизменённом стабе; пять сценариев маппинга статусов дают 0/1/3/1 и остаются зелёными в том же прогоне