Skip to main content

Справочник по запускам с размещением в GitHub

Сведения о GitHub, размещенных в среде runner, включая их спецификации и параметры настройки.

Поддерживаемые средства выполнения и аппаратные ресурсы

Диапазоны данных GitHubразмещенных в среде runners доступны для использования в общедоступных и частных репозиториях.

Список доступных средств выполнения см. в разделе: * Стандартные средства выполнения для общедоступных репозиториев

  • Стандартные модули runners для частных и внутренних репозиториев

GitHub, размещенных в Linux, поддерживают аппаратное ускорение средств пакета SDK для Android, что делает выполнение тестов Android гораздо быстрее и потребляет меньше минут. Дополнительные сведения об аппаратном ускорение Android см. в статье "Настройка аппаратного ускорения для эмулятора Android" в документации разработчиков Android.

Примечание.

Образы -latest запуска — это последние стабильные образы, предоставляемые GitHub и не самые последние версии операционной системы, доступные поставщиком операционной системы.

Предупреждение

Образы бета-версии и устаревшие предоставляются как есть, "со всеми сбоями" и "как доступны" и исключены из соглашения об уровне обслуживания и гарантии. Для образов бета-версий может не оказываться поддержка.

Стандартные GitHubразмещенные средства выполнения для общедоступных репозиториев

Для общедоступных репозиториев задания с метками рабочего процесса, показанными в таблице ниже, будут выполняться с соответствующими спецификациями. За исключением средств выполнения тестов с одним процессором, каждое средство выполнения GitHub-hosted является новой виртуальной машиной (VM), размещенной в GitHub. Single-CPU средства выполнения тестов размещаются в контейнере на общей виртуальной машине — см. раздел AUTOTITLE. Использование стандартных средств запуска GitHub-hosted является бесплатным и неограниченным в общедоступных репозиториях.

Виртуальная машина / контейнер Процессор (ЦП) Память (ОЗУ) Хранилище (SSD) архитектура Метка рабочего процесса
Linux 1 5 GB 14 GB x64 ubuntu-slim
Linux 4 16 ГБ 14 ГБ x64
    <code><a href="https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md">ubuntu-latest</a></code>, , <code><a href="https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md">ubuntu-24.04</a></code><code><a href="https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2204-Readme.md">ubuntu-22.04</a></code></td>
</tr>
<tr>
  <td>Windows</td>
  <td>4</td>
  <td>16 ГБ</td>
  <td>14 ГБ</td>
  <td> x64 </td>
  <td>
          
    <code><a href="https://github.com/actions/runner-images/blob/main/images/windows/Windows2025-Readme.md">windows-latest</a></code>, <code><a href="https://github.com/actions/runner-images/blob/main/images/windows/Windows2025-Readme.md">windows-2025</a></code>, <code><a href="https://github.com/actions/runner-images/blob/main/images/windows/Windows2025-VS2026-Readme.md">windows-2025-vs2026</a></code> (public preview), <code><a href="https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md">windows-2022</a></code></td>
</tr>
<tr>
  <td>Linux</td>
  <td>4</td>
  <td>16 ГБ</td>
  <td>14 ГБ</td>
  <td> arm64 </td>
  <td>
          
    <code><a href="https://github.com/actions/partner-runner-images/blob/main/images/arm-ubuntu-24-image.md">ubuntu-24.04-arm</a></code>, <code><a href="https://github.com/actions/partner-runner-images/blob/main/images/arm-ubuntu-22-image.md">ubuntu-22.04-arm</a></code></td>
</tr>
<tr>
  <td>Windows</td>
  <td>4</td>
  <td>16 ГБ</td>
  <td>14 ГБ</td>
  <td>arm64</td>
  <td>
    <code><a href="https://github.com/actions/partner-runner-images/blob/main/images/arm-windows-11-image.md">windows-11-arm</a></code>
  </td>
</tr>
<tr>
  <td>macOS</td>
  <td>4</td>
  <td>14 ГБ</td>
  <td>14 ГБ</td>
  <td> Intel </td>
  <td>
          
    <code><a href="https://github.com/actions/runner-images/blob/main/images/macos/macos-15-Readme.md">macos-15-intel</a></code>, <code><a href="https://github.com/actions/runner-images/blob/main/images/macos/macos-26-Readme.md">macos-26-intel</a></code></td>
</tr>
<tr>
  <td>macOS</td>
  <td>3 (М1)</td>
  <td>7 ГБ</td>
  <td>14 ГБ</td>
  <td> arm64 </td>
  <td>
          
    <code><a href="https://github.com/actions/runner-images/blob/main/images/macos/macos-15-arm64-Readme.md">macos-latest</a></code>, <code><a href="https://github.com/actions/runner-images/blob/main/images/macos/macos-14-arm64-Readme.md">macos-14</a></code>, <code><a href="https://github.com/actions/runner-images/blob/main/images/macos/macos-15-arm64-Readme.md">macos-15</a></code>, <code><a href="https://github.com/actions/runner-images/blob/main/images/macos/macos-26-arm64-Readme.md">macos-26</a></code></td>
</tr>

Стандартные GitHubразмещенные средства выполнения для internal and частные репозитории

Для частных репозиториев internal and задания, использующие метки рабочего процесса, показанные в таблице ниже, будут выполняться на виртуальных машинах с соответствующими спецификациями. Эти бегуны используют ваши GitHub счет бесплатной минуты, а затем взимается плата за минуту. См . раздел AUTOTITLE.

виртуальная машина Процессор (ЦП) Память (ОЗУ) Хранилище (SSD) архитектура Метка рабочего процесса
Linux 1 5 GB 14 GB x64 ubuntu-slim
Linux 2 8 ГБ 14 ГБ x64
    <code><a href="https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md">ubuntu-latest</a></code>, , <code><a href="https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md">ubuntu-24.04</a></code><code><a href="https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2204-Readme.md">ubuntu-22.04</a></code></td>
</tr>
<tr>
  <td>Windows</td>
  <td>2</td>
  <td>8 ГБ</td>
  <td>14 ГБ</td>
  <td> x64 </td>
  <td>
          
    <code><a href="https://github.com/actions/runner-images/blob/main/images/windows/Windows2025-Readme.md">windows-latest</a></code>, , <code><a href="https://github.com/actions/runner-images/blob/main/images/windows/Windows2025-Readme.md">windows-2025</a></code><code><a href="https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md">windows-2022</a></code></td>
</tr>
<tr>
  <td>Linux</td>
  <td>2</td>
  <td>8 ГБ</td>
  <td>14 ГБ</td>
  <td> arm64 </td>
  <td>
          
    <code><a href="https://github.com/actions/partner-runner-images/blob/main/images/arm-ubuntu-24-image.md">ubuntu-24.04-arm</a></code>, <code><a href="https://github.com/actions/partner-runner-images/blob/main/images/arm-ubuntu-22-image.md">ubuntu-22.04-arm</a></code></td>
</tr>
<tr>
  <td>Windows</td>
  <td>2</td>
  <td>8 ГБ</td>
  <td>14 ГБ</td>
  <td> arm64 </td>
  <td>
    <code><a href="https://github.com/actions/partner-runner-images/blob/main/images/arm-windows-11-image.md">windows-11-arm</a></code>
  </td>
</tr>
<tr>
  <td>macOS</td>
  <td>4</td>
  <td>14 ГБ</td>
  <td>14 ГБ</td>
  <td> Intel </td>
  <td>
          
    <code><a href="https://github.com/actions/runner-images/blob/main/images/macos/macos-15-Readme.md">macos-15-intel</a></code>, <code><a href="https://github.com/actions/runner-images/blob/main/images/macos/macos-26-Readme.md">macos-26-intel</a></code></td>
</tr>
<tr>
  <td>macOS</td>
  <td>3 (М1)</td>
  <td>7 ГБ</td>
  <td>14 ГБ</td>
  <td> arm64 </td>
  <td>
          
    <code><a href="https://github.com/actions/runner-images/blob/main/images/macos/macos-15-arm64-Readme.md">macos-latest</a></code>, <code><a href="https://github.com/actions/runner-images/blob/main/images/macos/macos-14-arm64-Readme.md">macos-14</a></code>, <code><a href="https://github.com/actions/runner-images/blob/main/images/macos/macos-15-arm64-Readme.md">macos-15</a></code>, <code><a href="https://github.com/actions/runner-images/blob/main/images/macos/macos-26-arm64-Readme.md">macos-26</a></code></td>
</tr>

Примечание.

Модули запуска macOS недоступны в поддоменах GHE.com, например octocorp.ghe.com.

В журналах рабочих процессов указывается средство выполнения, использовавшееся для запуска задания. Дополнительные сведения см. в разделе Просмотр журнала выполнения рабочего процесса.

Ограничения для runners macOS arm64

  • Все действия, предоставляемые GitHub, совместимы с arm64 GitHubразмещенными средствами выполнения. Однако действия сообщества могут быть несовместимы с arm64 и должны быть установлены вручную во время выполнения.
  • Вложенная виртуализация не поддерживается из-за ограничений Virtualization Framework от Apple.
  • Сетевые возможности, такие как частная сеть Azure и назначение статических IP-адресов, в настоящее время недоступны для более крупных runners macOS.
  • Для runners macOS arm64 не назначен статический идентификатор UUID/UDID, так как Apple не поддерживает эту функцию. Однако модули запуска Intel MacOS назначаются статическим идентификатором UDID, в частности 4203018E-580F-C1B5-9525-B745CECA79EB. Если вы создаете и подписываетесь на том же узле, на котором планируется протестировать сборку, вы можете подписаться с помощью профиля подготовки разработки. Если вам требуется статический UDID, можно использовать средства запуска Intel и добавить его UDID в учетную запись разработчика Apple.
  • Модули запуска macOS недоступны в поддоменах GHE.com, например octocorp.ghe.com.

Single-CPU бегунов

Single-CPU GitHub-hosted доступны как в общедоступных, так и в частных репозиториях. Эти средства выполнения, указанные с помощью метки ubuntu-slimрабочего процесса, предлагают более дешевый вариант для выполнения упрощенных операций. Этот тип средства выполнения тестов оптимизирован для задач автоматизации, операций выдачи и кратковременных заданий. Они не подходят для типичных тяжеловесных сборок CI/CD.

          `ubuntu-slim` Бегуны выполняют рабочие процессы Actions в Ubuntu Linux внутри контейнера, а не в полном экземпляре виртуальной машины. Когда задание начинается, GitHub автоматически подготавливает новый контейнер для этого задания. Все шаги в задании выполняются в контейнере, что позволяет шагам в этом задании обмениваться информацией с использованием файловой системы средства выполнения. После завершения задания контейнер автоматически списывается. Каждый контейнер обеспечивает изоляцию гипервизора уровня 2.

Примечание.

Контейнер для ubuntu-slim бегунов работает в режиме без привилегий. Это означает, что некоторые операции, требующие повышенных прав — такие как монтаж файловых систем, использование Docker-in-Docker или доступ к низкоуровневым функциям ядра — не поддерживаются.

На ubuntu-slim образ раннера устанавливается минимальный набор инструментов, подходящий для легких задач. Для подробностей о том, какое программное обеспечение установлено на образе ubuntu-slim , смотрите файл README в actions/runner-images репозитории.

Ограничения использования

Single-CPU средства выполнения следуют той же модели параллелизма, что и другие стандартные средства выполнения GitHubстандартные средства выполнения, размещенные }. См . раздел AUTOTITLE. Параллелизм для средств выполнения тестов определяется вашим планом.

Время ожидания задания для средств выполнения с одним процессором составляет 15 минут. Если задание достигает этого предела, задание завершается и завершается сбоем.

Более крупный бегунs

Клиенты в планах GitHub Team и GitHub Enterprise Cloud могут выбирать из диапазона управляемых виртуальных машин, имеющих больше ресурсов, чем стандартные GitHubразмещенные в среде runner. Эти компьютеры называются "более крупные бегуны". Они предлагают следующие расширенные функции:

  • Больше ОЗУ, ЦП и дискового пространства
  • Статические IP-адреса
  • Частная сеть Azure
  • Возможность группировать бегуна
  • Автоматическое масштабирование для поддержки параллельных рабочих процессов
  • Модули runner с поддержкой GPU

Эти данные более крупные бегуны размещаются GitHub и имеют приложение runner и другие средства, предварительно установленные.

Дополнительные сведения см. в разделе Использование крупных средств выполнения.

Права администратора

Виртуальные машины Linux и macOS работают с использованием sudo без пароля. Если необходимо выполнить команды или установить средства, требующие больше привилегий, чем имеется у текущего пользователя, можно использовать sudo без необходимости вводить пароль. Дополнительные сведения см. в руководстве sudo.

Виртуальные машины Windows настроены для запуска от имени администраторов с отключенной функцией контроля учетных записей (UAC). Дополнительные сведения см. в статье о работе управления учетными записями пользователей в документации по Windows.

IP-адреса

Получить список диапазонов IP-адресов, которые используются GitHub Actions для средств выполнения, размещенных в GitHub, можно с помощью REST API GitHub. Дополнительные сведения см actions . в разделе "Ключ" в ответе конечной GET /meta точки. Дополнительные сведения см. в разделе Конечные точки REST API для метаданных.

Средства выполнения Windows и Ubuntu размещаются в Azure и, следовательно, имеют те же диапазоны IP-адресов, что и центры обработки данных Azure. Средства выполнения macOS размещаются в облаке macOS, принадлежащем GitHub.

Так как существует так много диапазонов IP-адресов для GitHubразмещенных в нем средств, мы не рекомендуем использовать их в качестве списков разрешений для внутренних ресурсов. Вместо этого рекомендуется использовать крупное средство выполненияs со статическим диапазоном IP-адресов или локальными средствами выполнения. Дополнительные сведения см. в разделе [AUTOTITLE или Использование крупных средств выполнения](/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners).

Список IP-адресов GitHub Actions, возвращаемых API, обновляется раз в неделю.

Требования к обмену данными для GitHubразмещенных в среде runners

Для выполнения важных операций коммуникации необходимо установить подключения к GitHub. Кроме того, для запуска может потребоваться доступ к дополнительным сетям, которые вы указываете или используете в действии.

Чтобы обеспечить правильную связь для GitHub, размещенных между сетями в конфигурации, убедитесь, что разрешены следующие связи.

Примечание.

Некоторые из перечисленных доменов настраиваются с помощью CNAME записей. Для некоторых брандмауэров может потребоваться рекурсивно добавить правила для всех записей CNAME. Обратите внимание, что CNAME записи могут измениться в будущем, и что только перечисленные домены останутся постоянными.

Требуется для основных операций:

Shell
github.com
api.github.com
*.actions.githubusercontent.com
          **Требуется для загрузки действий:**
Shell
codeload.github.com
          **Требуется для отправки и скачивания сводок заданий, журналов, артефактов рабочих процессов и кэшей:**
Shell
results-receiver.actions.githubusercontent.com
*.blob.core.windows.net
          **Требуется для обновления версий средства выполнения тестов:**
Shell
objects.githubusercontent.com
objects-origin.githubusercontent.com
github-releases.githubusercontent.com
github-registry-files.githubusercontent.com
          **Требуется для получения маркеров OIDC:**
Shell
*.actions.githubusercontent.com
          **Требуется для скачивания или публикации пакетов или контейнеров в GitHub Пакеты:**
Shell
*.pkg.github.com
pkg-containers.githubusercontent.com
ghcr.io
          **Требуется для Хранилище больших файлов Git**
Shell
github-cloud.githubusercontent.com
github-cloud.s3.amazonaws.com

Требуется для заданий для Dependabot updates

Shell
dependabot-actions.githubapp.com
          **Требуется для скачивания ресурсов выпуска:**
Shell
release-assets.githubusercontent.com
          **Требуется для виртуальной сети:**
Shell
api.snapcraft.io

Файловые системы

GitHub выполняет действия и команды оболочки в определенных каталогах на виртуальной машине. Пути к файлам на виртуальных машинах не являются статическими. Используйте переменные среды, предоставляемые GitHub, для создания путей к файлам в каталогах home, workspaceи workflow.

DirectoryПеременная средыDescription
homeHOMEСодержит данные, связанные с пользователем. Например, этот каталог может содержать учетные данные из попытки входа.
workspaceGITHUB_WORKSPACEВ этом каталоге выполняются действия и команды оболочки. Действие может изменить содержимое этого каталога, к которому могут обращаться последующие действия.
workflow/event.jsonGITHUB_EVENT_PATHПолезные данные POST события веб-перехватчика, которое активировало рабочий процесс. GitHub перезаписывает их каждый раз при выполнении действия для изоляции содержимого файла между действиями.

Список переменных среды GitHub создает для каждого рабочего процесса, см. в разделе Хранение сведений в переменных.

Файловая система контейнера Docker

Действия, выполняемые в контейнерах Docker, имеют статические каталоги по пути /github. Однако мы настоятельно рекомендуем использовать переменные среды по умолчанию для создания путей к файлам в контейнерах Docker.

GitHub резервирует префикс пути /github и создает три каталога для действий.

  • /github/home
  •         `/github/workspace` - **Примечание**. GitHub Actions должен выполнять пользователь Docker по умолчанию (root). Убедитесь, что в файле Dockerfile не задана инструкция `USER`, иначе вы не сможете получить доступ к `GITHUB_WORKSPACE`.
    
  • /github/workflow