Код не меняли. Сборка сломалась по расписанию

У вас может сломаться сборка без единого коммита. Достаточно оставить 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 проверяется заранее или первым тестом становится очередной релиз?

Анонс GitHub

#dotnet #backend #AI #DevOps