- четыре задачи из находок ревью и заметки владельца: проверки shellcheck и hadolint с тестом скрипта сверки версий, закрепление рантайм-базы образа, коды выхода шагов гейта, настройка конвейера ревью - INBOX разобран целиком и очищен
43 lines
3.4 KiB
Markdown
43 lines
3.4 KiB
Markdown
# 🧹 Закрепить версию рантайм-базы образа
|
||
|
||
- **Тип:** chore
|
||
- **Категория:** Очередь
|
||
- **Зачем:** Финальный слой Dockerfile собирается на alpine:latest, а task image идёт с --pull, поэтому два образа из одного коммита с разницей в неделю несут разный ffmpeg — регрессия конвертации после такой пересборки выглядит как задачи в failed при пустом диффе репозитория, и откат на прежний коммит её не чинит.
|
||
|
||
Класс тот же, ради которого задача `go-1-26-upgrade` завела шаг сверки версий:
|
||
объявленное и собранное расходятся, а сверять некому. Разница в том, что там
|
||
расходились числа внутри репозитория, а здесь репозиторий вообще не называет
|
||
числа — версия рантайм-базы задана словом «последняя».
|
||
|
||
Цена названа условием, а не замером: сколько именно и как часто меняется
|
||
`ffmpeg` в `alpine:latest`, никто не мерил. Известно, что он в таблице отказов
|
||
`docs/architecture.md` стоит со столбцом «Отдаёт мусор»: «Выходной файл пуст,
|
||
отказ вылезет на распознавании».
|
||
|
||
Перечень мест, где объявлена версия Go, эта задача не расширяет: он закрыт
|
||
решением `go-1-26-upgrade`, и рантайм-база — другой предмет.
|
||
|
||
## Затрагивает
|
||
|
||
- финальный слой `Dockerfile` — тег базового образа;
|
||
- раздел «Деплой» в `docs/architecture.md`.
|
||
|
||
## Критерии приёмки
|
||
|
||
- Репозиторий называет версию рантайм-базы числом, а не словом «последняя».
|
||
Оракул — `grep` по `Dockerfile`: тег финального слоя содержит мажор и минор.
|
||
- Два образа, собранные из одного коммита, несут один `ffmpeg`. Оракул — собрать
|
||
`task image` дважды с интервалом и сравнить `ffmpeg -version` внутри обоих.
|
||
- Решение записано там, где его найдёт разбор отказа конвертации. Оракул —
|
||
раздел «Деплой» `docs/architecture.md` называет закреплённую базу и причину.
|
||
- Гейт зелёный целиком. Оракул — `task gate`.
|
||
|
||
## Рамки
|
||
|
||
Версию базы выбирает человек: перескок на минор новее может принести другой
|
||
`ffmpeg` ровно с тем же исходом, ради предотвращения которого задача и заведена.
|
||
Выкладку не запускаем.
|
||
|
||
Если решено оставить `latest`, задача кончается записью принятого остатка в
|
||
`docs/architecture.md`, а не правкой `Dockerfile`. Это законный исход.
|