Код не меняли. Сборка сломалась по расписанию
У вас может сломаться сборка без единого коммита. Достаточно оставить ubuntu-latest в GitHub Actions и считать окружение постоянным.
17 сентября GitHub объявил Ubuntu 26.04 общедоступным образом runner. Метка ubuntu-latest переедет с 24.04 на 26.04 постепенно, с 19 октября по 19 ноября. В образе обновили часть инструментов, некоторые убрали. GitHub прямо предупреждает: зависимые от них сборки могут перестать работать.
Для меня как backend-инженера это повод проверить скучную часть репозитория, которую легко отдать AI-агенту: workflow. Агент добавил сборку .NET, тесты проходят, PR выглядит законченным. Но версии SDK и системных зависимостей могут по-прежнему определяться тем, что сегодня установлено на runner.
Представьте срочный hotfix. Код поправили, ревью прошли, а публикация упала из-за утилиты, которую раньше давал образ. До прода исправление не доехало. Разбор окружения теперь идёт параллельно с инцидентом.
Я бы до миграции завёл отдельный прогон на ubuntu-26.04 и проверил весь путь до готового артефакта: restore, тесты, publish, упаковку. Без доступа к production-секретам и без самого деплоя. Для .NET отдельно посмотрел бы выбор SDK через global.json, его roll-forward и явную установку SDK в CI. Нативные зависимости тоже стоит проверить, даже если весь ваш код на C#.
Если переезд сейчас некстати, GitHub предлагает явно выбрать ubuntu-24.04. Это отсрочка, а не вечная заморозка: образ с такой меткой тоже получает обновления.
AI здесь удобно поручить инвентаризацию workflow и список неявных зависимостей. Принимать такой PR я бы стал после прогона на новом образе. По аккуратному YAML совместимость не определить.
У вас смена runner проверяется заранее или первым тестом становится очередной релиз?
· 12 ч
Может я ретроград и все такое, но! Предпочитаю, чтоб разработка велась не внутри контейнеров разрабов, а на реальном железе с характеристиками, идентичным проду. Каждому свой пул портов и пилите код.
Верно, это не всегда осуществимо, но в этом случае настаиваю на организации двух сборок - test для финального тестирования на реальном сервере и prod - непосредственно боевая.
Избавляет от головняка. Пока схема не подводила.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён