Supported runners and hardware resources
Ranges of GitHub-hosted runners are available for use in public and private repositories.
For lists of available runners, see:
GitHub-hosted Linux runners support hardware acceleration for Android SDK tools, which makes running Android tests much faster and consumes fewer minutes. For more information on Android hardware acceleration, see Configure hardware acceleration for the Android Emulator in the Android Developers documentation.
Примечание.
The -latest
runner images are the latest stable images that GitHub provides, and might not be the most recent version of the operating system available from the operating system vendor.
Предупреждение
Beta and Deprecated Images are provided "as-is", "with all faults" and "as available" and are excluded from the service level agreement and warranty. Beta Images may not be covered by customer support.
Стандартные GitHubразмещенные средства выполнения для общедоступных репозиториев
Для общедоступных репозиториев задания с помощью меток рабочего процесса, показанных в таблице ниже, будут выполняться на виртуальных машинах с соответствующими спецификациями. Использование этих бегуников на общедоступных репозиториях является бесплатным и неограниченным.
Виртуальная машина | Процессор (ЦП) | Память (ОЗУ) | Хранилище (SSD) | Архитектура | Метка рабочего процесса |
---|---|---|---|---|---|
Linux | 4 | 16 ГБ | 14 ГБ | x64 |
ubuntu-latest , , ubuntu-24.04 ubuntu-22.04
|
Windows | 4 | 16 ГБ | 14 ГБ | x64 |
windows-latest , , windows-2025 windows-2022
|
Linux [общедоступная предварительная версия] | 4 | 16 ГБ | 14 ГБ | arm64 |
ubuntu-24.04-arm , ubuntu-22.04-arm
|
Windows [общедоступная предварительная версия] | 4 | 16 ГБ | 14 ГБ | arm64 |
windows-11-arm
|
macOS | 4 | 14 ГБ | 14 ГБ | Intel |
macos-13
|
macOS | 3 (M1) | 7 ГБ | 14 ГБ | arm64 |
macos-latest , , macos-14 macos-15
|
Примечание.
Runners arm64 Linux и Windows находятся в public preview и подвергаются изменению.
Стандартные GitHubразмещенные средства выполнения для частные репозитории
Для частных репозиториев задания, использующие метки рабочего процесса, показанные в таблице ниже, будут выполняться на виртуальных машинах с соответствующими спецификациями. Эти бегуны используют ваши GitHub счет бесплатной минуты, а затем взимается плата за минуту. Дополнительные сведения см. в разделе Сведения о выставлении счетов за GitHub Actions.
Виртуальная машина | Процессор (ЦП) | Память (ОЗУ) | Хранилище (SSD) | Архитектура | Метка рабочего процесса |
---|---|---|---|---|---|
Linux | 2 | 7 ГБ | 14 ГБ | x64 |
ubuntu-latest , , ubuntu-24.04 ubuntu-22.04
|
Windows | 2 | 7 ГБ | 14 ГБ | x64 |
windows-latest , , windows-2025 windows-2022
|
macOS | 4 | 14 ГБ | 14 ГБ | Intel |
macos-13
|
macOS | 3 (M1) | 7 ГБ | 14 ГБ | arm64 |
macos-latest , , macos-14 macos-15
|
Workflow logs list the runner used to run a job. For more information, see Viewing workflow run history.
Limitations for arm64 macOS runners
- Все действия, предоставляемые GitHub, совместимы с arm64 GitHubразмещенными средствами выполнения. Однако действия сообщества могут быть несовместимы с arm64 и должны быть установлены вручную во время выполнения.
- Вложенные виртуализации и шейдеры производительности металла (MPS) не поддерживаются из-за ограничения Apple Virtualization Framework.
- Сетевые возможности, такие как частная сеть Azure и назначение статических IP-адресов, в настоящее время недоступны для более крупных runners macOS.
- Для runners macOS arm64 не назначен статический идентификатор UUID/UDID, так как Apple не поддерживает эту функцию. Однако модули запуска Intel MacOS назначаются статическим идентификатором UDID, в частности
4203018E-580F-C1B5-9525-B745CECA79EB
. Если вы создаете и подписываетесь на том же узле, на котором планируется протестировать сборку, вы можете подписаться с помощью профиля подготовки разработки. Если вам требуется статический UDID, можно использовать средства запуска Intel и добавить его UDID в учетную запись разработчика Apple.
Более крупный бегунs
Клиенты в планах GitHub Team и GitHub Enterprise Cloud могут выбирать из диапазона управляемых виртуальных машин, имеющих больше ресурсов, чем стандартные GitHubразмещенные в среде runner. Эти компьютеры называются "крупное средство выполнения". Они предлагают следующие расширенные функции:
- Больше ОЗУ, ЦП и дискового пространства
- Статические IP-адреса
- Частная сеть Azure
- Возможность группировать бегуна
- Автоматическое масштабирование для поддержки параллельных рабочих процессов
- Модули runner с поддержкой GPU
Эти данные более крупные бегуны размещаются GitHub и имеют приложение runner и другие средства, предварительно установленные.
For more information, see Using larger runners.
Administrative privileges
The Linux and macOS virtual machines both run using passwordless sudo
. When you need to execute commands or install tools that require more privileges than the current user, you can use sudo
without needing to provide a password. For more information, see the Sudo Manual.
Windows virtual machines are configured to run as administrators with User Account Control (UAC) disabled. For more information, see How User Account Control works in the Windows documentation.
IP addresses
To get a list of IP address ranges that GitHub Actions uses for GitHub-hosted runners, you can use the GitHub REST API. For more information, see the actions
key in the response of the GET /meta
endpoint. For more information, see Конечные точки REST API для метаданных.
Windows and Ubuntu runners are hosted in Azure and subsequently have the same IP address ranges as the Azure datacenters. macOS runners are hosted in GitHub's own macOS cloud.
Since there are so many IP address ranges for GitHub-hosted runners, we do not recommend that you use these as allowlists for your internal resources. Instead, we recommend you use крупное средство выполненияs with a static IP address range, or self-hosted runners. For more information, see Using larger runners or Локальные средства выполнения тестов.
The list of GitHub Actions IP addresses returned by the API is updated once a week.
Communication requirements for GitHub-hosted runners
A GitHub-hosted runner must establish connections to GitHub-owned endpoints to perform essential communication operations. In addition, your runner may require access to additional networks that you specify or utilize within an action.
To ensure proper communications for GitHub-hosted runners between networks within your configuration, ensure that the following communications are allowed.
Примечание.
Некоторые из перечисленных доменов настраиваются с помощью CNAME
записей. Для некоторых брандмауэров может потребоваться рекурсивно добавить правила для всех записей CNAME
. Обратите внимание, что CNAME
записи могут измениться в будущем, и что только перечисленные домены останутся постоянными.
Требуется для основных операций:
github.com api.github.com *.actions.githubusercontent.com
github.com
api.github.com
*.actions.githubusercontent.com
Требуется для загрузки действий:
codeload.github.com pkg.actions.githubusercontent.com
codeload.github.com
pkg.actions.githubusercontent.com
Требуется для публикации неизменяемых действий:
ghcr.io
ghcr.io
Требуется для отправки и скачивания сводок заданий, журналов, артефактов рабочих процессов и кэшей:
results-receiver.actions.githubusercontent.com *.blob.core.windows.net
results-receiver.actions.githubusercontent.com
*.blob.core.windows.net
Требуется для обновления версий средства выполнения тестов:
objects.githubusercontent.com objects-origin.githubusercontent.com github-releases.githubusercontent.com github-registry-files.githubusercontent.com
objects.githubusercontent.com
objects-origin.githubusercontent.com
github-releases.githubusercontent.com
github-registry-files.githubusercontent.com
Требуется для получения маркеров OIDC:
*.actions.githubusercontent.com
*.actions.githubusercontent.com
Требуется для скачивания или публикации пакетов или контейнеров в GitHub Пакеты:
*.pkg.github.com pkg-containers.githubusercontent.com ghcr.io
*.pkg.github.com
pkg-containers.githubusercontent.com
ghcr.io
Требуется для Хранилище больших файлов Git
github-cloud.githubusercontent.com github-cloud.s3.amazonaws.com
github-cloud.githubusercontent.com
github-cloud.s3.amazonaws.com
Требуется для заданий для Dependabot updates
dependabot-actions.githubapp.com
dependabot-actions.githubapp.com
File systems
GitHub executes actions and shell commands in specific directories on the virtual machine. The file paths on virtual machines are not static. Use the environment variables GitHub provides to construct file paths for the home
, workspace
, and workflow
directories.
Directory | Environment variable | Description |
---|---|---|
home | HOME | Contains user-related data. For example, this directory could contain credentials from a login attempt. |
workspace | GITHUB_WORKSPACE | Actions and shell commands execute in this directory. An action can modify the contents of this directory, which subsequent actions can access. |
workflow/event.json | GITHUB_EVENT_PATH | The POST payload of the webhook event that triggered the workflow. GitHub rewrites this each time an action executes to isolate file content between actions. |
For a list of the environment variables GitHub creates for each workflow, see Store information in variables.
Docker container filesystem
Actions that run in Docker containers have static directories under the /github
path. However, we strongly recommend using the default environment variables to construct file paths in Docker containers.
GitHub reserves the /github
path prefix and creates three directories for actions.
/github/home
/github/workspace
- Примечание. GitHub Actions должен выполнять пользователь Docker по умолчанию (root). Убедитесь, что в файле Dockerfile не задана инструкцияUSER
, иначе вы не сможете получить доступ кGITHUB_WORKSPACE
./github/workflow