Запись архива

GitHub Actions: новый синтаксис $/ для ссылок на собственные actions и workflows

GitHub ввёл синтаксис $/ для ссылок на actions и reusable workflows внутри того же репозитория. Теперь не нужен checkout или хардкод версии — внутренние ссылки автоматически привязываются к текущему коммиту.

Схема работы GitHub Actions с новым синтаксисом $/ для ссылок на actions внутри репозитория
Схема работы GitHub Actions с новым синтаксисом $/ для ссылок на actions внутри репозитория
Imagen destacada del articulo fuente

GitHub выпустил обновление GitHub Actions, которое упрощает композицию действий и повторно используемых workflow внутри одного репозитория. Новый синтаксис $/ позволяет ссылаться на action или reusable workflow, определённый в том же репозитории, без привязки к конкретной версии или необходимости предварительного checkout.

Что меняется в синтаксисе

Ранее, чтобы использовать action из того же репозитория, разработчику приходилось либо указывать относительный путь ./action-name, что требовало предварительного checkout репозитория, либо хардкодить версию в поле uses: owner/repo@v1. Оба подхода имели недостатки. Относительный путь ./ не гарантирует, что используется тот же коммит, что и в вызывающем workflow. Хардкод версии усложняет поддержку и несовместим с политиками, требующими фиксации по полному SHA коммита.

Новый синтаксис $/ решает эти проблемы. При указании uses: $/action-name ссылка автоматически разрешается в репозиторий workflow, который выполняется, причём фиксируется тот же коммит (SHA), который запущен. Никакого дополнительного checkout не требуется. Синтаксис работает везде, где раньше работал ./: в шагах workflow, в шагах составных actions, во вложенных композициях и в вызовах reusable workflows.

Ключевые факты

Характеристика Описание
Синтаксис uses: $/action-name (вместо ./action-name или owner/repo@v1)
Область применения Шаги workflow, шаги composite actions, вложенные композиции, reusable workflows
Версия runner 336.0 или новее
Рекомендация GitHub Self-repository references — рекомендуемый способ композиции внутри репозитория

Как это работает

Когда workflow использует $/action-name, GitHub Actions подставляет реальный URL репозитория, из которого запущен workflow, и закрепляет ссылку на точный коммит, который выполняется в данный момент. Это означает, что если один workflow вызывает другой action из того же репозитория, оба будут использовать один и тот же SHA. Это особенно важно для организаций, где действует политика обязательного pinning по полному SHA коммита для всех actions. Ранее такую политику было сложно соблюдать для внутренних actions — теперь она реализуется автоматически.

Для разработчиков AI-инструментов и агентов, которые часто строят CI/CD пайплайны с собственными actions (например, сборка моделей, запуск тестов, деплой на сервер), новый синтаксис снижает количество ошибок при обновлениях. Если action изменяется в том же репозитории, все вызывающие workflow автоматически получают актуальную версию, соответствующую запускаемому коммиту. При этом не нужно следить за версиями или переключать теги.

Совместимость и переход

Новый синтаксис доступен на github.com с момента публикации. Для работы требуется runner версии 2.336.0 или выше. Если вы используете self-hosted runners, обновите их до указанной версии. GitHub рекомендует постепенно заменять конструкции ./ на $/ во всех внутренних references. Документация по поиску и настройке actions уже обновлена.

Для аудитории Comrad404, которая следит за инструментарием разработчика, это небольшое, но важное улучшение. Оно непосредственно влияет на удобство поддержки автоматизации, особенно в проектах с множеством собственных actions и reusable workflows. В контексте AI-агентов, где пайплайны часто содержат десятки шагов, упрощение композиции снижает шанс случайного расхождения версий.

Источник: GitHub Changelog — «Reference same-repository actions with self-repository syntax» (https://github.blog/changelog/2026-07-30-reference-same-repository-actions-with-self-repository-syntax).