Python 3.15.0 появился в GitHub Actions: матрицу тестов можно обновлять

В репозиторий actions/python-versions добавили стабильную сборку Python 3.15.0. Из этого репозитория action setup-python берёт дистрибутивы, поэтому теперь в матрицу GitHub Actions можно вписать версию "3.15" и прогнать тесты на новом релизе. Разработчик Саймон Уиллисон ждал этого коммита несколько дней и поручил ChatGPT раз в час делать git pull и сообщить о появлении 3.15. • Стабильный 3.15.0 теперь доступен в GitHub Actions. • Версию нужно писать строкой в кавычках: "3.15". • Между релизом на python.org и появлением в CI прошло несколько дней.

AI-обработка оригинала Simon Willison; редакция Hamidun News
Python 3.15.0 появился в GitHub Actions: матрицу тестов можно обновлять
Источник: Simon Willison. Коллаж: Hamidun News.
Слушать статью
Паспорт материала и цифры
ПараметрДанные
ПервоисточникSimon Willison ↗
Главный редактор
Ключевой факт #1Стабильный 3.15.0 теперь доступен в GitHub Actions.
Версию нужно писать строкой в кавычках"3.15".
Ключевой факт #3Между релизом на python.org и появлением в CI прошло несколько дней.

В репозитории actions/python-versions появился коммит со стабильной сборкой Python 3.15.0. Новость узкая, но для тысяч проектов на GitHub это сигнал: можно добавить "3.15" в матрицу тестов и проверить код на свежем интерпретаторе без самостоятельной сборки. Разработчик Саймон Уиллисон ждал этого момента несколько дней. Он даже поручил ChatGPT клонировать репозиторий, раз в час делать git pull и сообщить, когда стабильная 3.15 наконец появится.

Почему релиз Python и доступность в CI разнесены по времени

Когда на python.org выходит новая версия, GitHub Actions получает её не мгновенно. Action setup-python берёт готовые сборки интерпретатора из манифеста в репозитории actions/python-versions. Пока там нет записи о 3.15.0, команда `python-version: "3.15"` либо ищет только пререлизы, либо не находит подходящую версию. Сопровождающие должны собрать дистрибутивы под Linux, macOS и Windows, прогнать проверки и закоммитить обновление.

Уиллисон ждал именно этого шага. Релиз уже вышел и страница на python.org существовала, а CI всё ещё не мог его использовать. Для авторов библиотек такая пауза неудобна: пользователи ставят новый Python в первые дни, и баг совместимости лучше увидеть раньше них.

Как ChatGPT оказался в роли сторожа репозитория

Промпт Уиллисона звучит почти как cron-задача на естественном языке: клонировать https://github.com/actions/python-versions, раз в час выполнять git pull, пока не добавят стабильную 3.15, и тогда сообщить. Ссылку на разговор он опубликовал. Это бытовой пример агентного сценария: модель получает доступ к среде с git, повторяет действие по расписанию и приходит с результатом сама, когда условие выполнено.

Задача мелкая, но показательная. Раньше такие вещи решали подпиской на релизы, RSS или скриптом на сервере. Теперь достаточно описать условие словами. Недостаток тоже очевиден: надёжность такого сторожа зависит от того, как именно чат-продукт планирует и запускает повторные проверки. Подписка на уведомления GitHub или собственный workflow по расписанию дают более предсказуемый результат. В заметке Уиллисона результат проверки не приводится, поэтому оценивать эффективность подхода нечем.

Что нужно знать о подключении

  • Версию указывают строкой: `"3.15"`. Без кавычек YAML может прочитать число как float, и `3.10` превратится в `3.1`. Эта ловушка известна давно.
  • Источник сборок: манифест в actions/python-versions, который использует setup-python.
  • Страница релиза: python.org/downloads/release/python-3150.
  • Теги заметки: GitHub, Python, GitHub Actions, ChatGPT.

Практика: что сделать сегодня

Если вы поддерживаете библиотеку или сервис на Python, добавьте `"3.15"` в матрицу, например `python-version: ["3.13", "3.14", "3.15"]`. Первый прогон лучше пометить как неблокирующий через `continue-on-error`. Тогда сломавшиеся зависимости с нативными расширениями не остановят основной пайплайн. Колёса для новой версии у популярных пакетов появляются не сразу, и первые красные сборки часто объясняются именно этим, а не вашим кодом.

Стоит также просмотреть предупреждения об устаревании, которые Python выдавал на прошлых версиях. Их проще исправить заранее, пока не удалили старый API. Если у вас есть ночные сборки или проверки на Docker-образах, добавьте 3.15 и туда.

И последнее: если вы ждёте события в чужом репозитории, не обязательно просить об этом чат-бота. Подписка на релизы или простой workflow по расписанию надёжнее, а чат-бот годится, когда условие сложно описать формально.

Сюжет

Вопросы и ответы по материалу

Что известно по теме: почему релиз Python и доступность в CI разнесены по времени?

Когда на python.org выходит новая версия, GitHub Actions получает её не мгновенно. Action setup-python берёт готовые сборки интерпретатора из манифеста в репозитории actions/python-versions. Пока там нет записи о 3.15.0, команда `python-version: "3.15"` либо ищет только пререлизы, либо не находит подходящую версию. Сопровождающие должны собрать дистрибутивы под Linux, macOS и Windows, прогнать проверки и закоммитить обновление. Уиллисон ждал именно этого шага. Релиз уже вышел и страница на python.org существовала, а CI всё ещё не мог его использовать. Для авторов библиотек

Что известно по теме: как ChatGPT оказался в роли сторожа репозитория?

Промпт Уиллисона звучит почти как cron-задача на естественном языке: клонировать https://github.com/actions/python-versions, раз в час выполнять git pull, пока не добавят стабильную 3.15, и тогда сообщить. Ссылку на разговор он опубликовал. Это бытовой пример агентного сценария: модель получает доступ к среде с git, повторяет действие по расписанию и приходит с результатом сама, когда условие выполнено. Задача мелкая, но показательная. Раньше такие вещи решали подпиской на релизы, RSS или скриптом на сервере. Теперь достаточно описать условие словами. Недостаток тоже очевид

Что известно по теме: что нужно знать о подключении?

Версию указывают строкой: `"3.15"`. Без кавычек YAML может прочитать число как float, и `3.10` превратится в `3.1`. Эта ловушка известна давно. Источник сборок: манифест в actions/python-versions, который использует setup-python. Страница релиза: python.org/downloads/release/python-3150. Теги заметки: GitHub, Python, GitHub Actions, ChatGPT.

ЖХ
Жемал Хамидун — CPO Alpina Digital, продакт-менеджер AlpinaGPT. Делает AI-продукты с 2019 года. Hamidun News — pet project, который вырос в production-агрегатор с 6000+ читателей.
✦ Практика AI-разработки

Соберите и запустите AI-продукт без классического кодинга

Практический интенсив Жемала Хамидуна по вайб-кодингу в Claude Code и Cursor на hamidun.com/vibecoding: от идеи и архитектуры до рабочего продакшн-сервиса, ботов и пайплайнов.

Программа интенсива →Платформа Vibe Academy
Что вы думаете?
Загружаем комментарии…