


19 октября 2026 года GitHub предупредил об ограничениях CodeQL при использовании macOS 27, Xcode 27 и Swift 6.4. Командам, которые обновляют окружение сборки, стоит проверить анализ кода отдельно от компиляции приложения. Mentoring.digital объясняет, какие сценарии затронуты и что рекомендует GitHub.
В части системных библиотек и исполняемых файлов новых macOS и Xcode Apple больше не поставляет Intel-код x86_64, на который CodeQL опирается при трассировке сборки. Такая трассировка позволяет анализатору наблюдать процесс компиляции и собирать данные для проверки.
По объявлению GitHub, с установленным Xcode 27 недоступно извлечение с трассировкой для C/C++, C#, Go, Java, Kotlin и Swift. На macOS 27 оно также может быть недоступно. Поддержка Swift 6.4 отсутствует на любой платформе. Эти ограничения нельзя переносить на все языки и все режимы CodeQL без различий.
Для Swift и других языков с трассируемой сборкой GitHub рекомендует закрепить macOS 26 или более раннюю версию вместе с Xcode 26 или более ранним. В GitHub Actions нужно явно выбирать образ runner и набор инструментов, а не полагаться на обозначение latest.
Закрепление версии полезно рассматривать как временно контролируемую конфигурацию. Сохраните причину выбора и условие следующего пересмотра: появление подтверждённой поддержки, успешная пробная проверка и сравнение полученного охвата анализа.
На разборе с наставником по окружениям сборки имеет смысл показать сам workflow, выбранные версии и журналы CodeQL. Одного номера macOS на личном ноутбуке недостаточно, если анализ выполняется на другом runner.
Для C/C++, C# и Java в объявлении предложен вариант build-mode: none, которому не нужна трассировка. Но это отдельный режим с собственными границами. Документация CodeQL указывает, что при анализе без сборки сгенерированный код не анализируется.
Поэтому смена режима требует проверки содержимого проекта. Если важная часть исходников появляется при генерации, успешный запуск задания ещё не доказывает сохранение прежнего охвата. Не считайте этот вариант универсальным обходом ограничений Swift.
GitHub также сообщил о планируемом прекращении поддержки CodeQL на Intel Mac в середине декабря 2026 года. Это будущий срок из объявления, а не уже выполненное отключение.
Проверить, что изменение CI сохранило нужные проверки, поможет разбор стратегии автоматизированного тестирования. Здесь важна не только успешная сборка, но и понимание того, какой код продолжает проходить анализ.