2.1 KiB
2.1 KiB
🧹 Сверять версию Go в образе с директивой go.mod
- Тип: chore
- Категория: Очередь
- Зачем: Образ гейт не собирает, и расхождение версий прошло весь конвейер молча: task image упал бы уже на сервере.
Случай записан журналом дефектов docs/review.md за 2026-08-12: go mod tidy
поднял директиву до 1.25, Dockerfile остался на golang:1.24-alpine с
GOTOOLCHAIN=local, и шесть проходов ревью вместе с восемью шагами гейта
показали зелёное. Нашлось случайным свойством прогона, а не устройством
проверок.
Сборку образа в гейт не заводим — она дорога. Дешёвая замена: сравнение двух строк.
Затрагивает
- набор шагов
task gateвTaskfile.yml; - директива
goвgo.modи сборочный слойDockerfileкак источники сравнения; - семантика гейта в
CLAUDE.md, раздел «Гейт».
Критерии приёмки
- Расхождение версий роняет гейт. Оракул — прогон
task gateна дереве, где версия вDockerfileпонижена на минор: шаг краснеет и называет оба числа. - Совпадение гейт не роняет. Оракул —
task gateна неизменённом дереве. - Шаг не требует docker и работает без сети. Оракул — прогон с
DOCKER_HOST=/dev/null.
Рамки
Сравнение строковое: Dockerfile называет golang:<major>.<minor>-alpine, а
go.mod — <major>.<minor>.<patch>. Сверяются мажор и минор; патч сборочного
образа своей жизнью живёт законно.