Skip to main content

Ограничения действий

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

Тарифы могут быть ограничены при GitHub Actions масштабировании использования. Некоторые ограничения можно увеличить, связавшись us через портал поддержки GitHubс .

Если иное не указано, ожидаемое поведение при достижении ограничения заключается в том, что рабочий процесс или задание будет отменено.

Эти ограничения могут меняться.

Существующие ограничения системы

Ограничение категорииЛимитЗа пороговое значениеDescriptionМожет GitHub ли поддержка увеличиться?
Ограничение выполнения рабочего процессаВремя выполнения рабочего процесса35 дней / запуск рабочего процессаПо достижении этого предела выполнение рабочего процесса будет отменено. Этот период включает длительность выполнения и время, затраченное на ожидание и утверждение.
Ограничение выполнения рабочего процессаВремя утверждения шлюза30 днейРабочий процесс может ждать до 30 дней на утверждениях среды.
Ограничение выполнения рабочего процессаМатрица заданий256 заданий и выполнения рабочего процессаМатрица заданий может генерировать максимум 256 заданий за один запуск рабочего процесса. Это ограничение распространяется как GitHubна -hosting, так и на самостоятельных бегунов.
Ограничение выполнения рабочего процессаПовтор50 повторовЗапуск рабочего процесса можно повторить максимум 50 раз. Это ограничение включает как полные повторы, так и повторы подмножества заданий.
Заявка поддержки
ЧекиЧек-рейсы по чековым номерам50 000 чековых рейсов / чекаЧек-люкс может иметь максимум 50 000 чековых рейсов. Это ограничение применяется к проверкам запусков, созданных через API Checks, и для GitHub Actions выполнения рабочих процессов. Когда чек-пакет достигает этого предела, для этого набора нельзя создавать дополнительные проверочные забеги.
Заявка поддержки
Очередь рабочих процессовОграничение скорости событий триггера рабочего процесса1500 событий / 10 секунд / репозиторийКаждый репозиторий ограничен событиями запуска рабочего процесса.
Заявка поддержки
Очередь рабочих процессовВыполнение рабочего процесса в очереди500 рабочих процессов выполняется / 10 секундКогда ограничение достигнуто, рабочий процесс запускается, который должен быть активирован событиями веб-перехватчика, будет заблокирован и не будет помещен в очередь. Повторно используемые рабочие процессы рассматриваются как единая сущность. Например, выполнение с 30 повторно используемыми рабочими процессами считается 1 в этом экземпляре.
Очередь рабочих процессовОчередь групп параллелизма100 запусков рабочих процессов / группа параллелизмаПри использовании queue: max в разделе можно поставить в очередь до 100 заданий или запусков рабочих процессов на одну группу concurrency параллелизма. Забеги за пределами этого лимита будут отклонены.
Самостоятельное размещениеРегистрация бегуна1500 runners / 5 минут / репозиторий/org/enterpriseЗапуски можно зарегистрировать для каждого репозитория, организации или предприятия.
Заявка поддержки
Самостоятельное размещениеRunners на группу runner10 000 бегуновRunners зарегистрированы одновременно для каждой группы runner.
Самостоятельное размещениеВремя выполнения задания5 днейКаждое задание в рабочем процессе может выполняться до 5 дней выполнения. Если задание достигает этого предела, задание завершается и завершается сбоем.
Самостоятельное размещениеВремя очереди заданий24 часаЗадание может находиться в очереди в течение 24 часов до автоматического отмены.
Все GitHub— ведущие бегуныПараллелизм заданийРазныеСм. Ограничения параллелизма рабочих мест для GitHub-hosted runners.
Заявка поддержки
Все GitHub— ведущие бегуныВремя выполнения задания6 часовКаждое задание в рабочем процессе может выполняться до 6 часов выполнения. Если задание достигает этого предела, задание завершается и завершается сбоем.
Все GitHub— ведущие бегуныОграничения хранилищаРазныеДля получения дополнительной информации смотрите раздел Ограничения хранения для всех GitHub-hosted runners.
Более крупные бегуныОграничение параллелизма для каждого бегунаЗависит от типа runnerУстанавливается при настройке бегуна. Обычно 1000 max for Linux CPU runners, но зависит от типа. См. Ограничения параллелизма рабочих мест для GitHub-hosted runners.
Заявка поддержки
Более крупные бегуныОграничения статических IP-адресов10 IP10 IP на предприятие и организацию.
Заявка поддержки
Более крупные бегуныМасштабирование частных IP-адресов для внедрения виртуальных сетейБуфер 30 %Вам нужен буфер, чтобы обеспечить максимальное число ожидаемых параллелизмов заданий. См . сведения о масштабировании частных IP-адресов для внедрения виртуальных сетей на более крупных запусках.
Настраиваемая Azure виртуальной сети
Кэширование зависимостейЗагрузки в минуту200 в минутуКаждый репозиторий ограничен 200 загрузками кэша в минуту. Если этот лимит превышается, последующие попытки загрузки кэша будут неудачными, пока лимит скорости не сбросится.
Кэширование зависимостейЗагрузки в минуту1500 в минутуКаждый репозиторий ограничен 1500 загрузками записей кэша в минуту. Если этот лимит превышается, последующие попытки загрузки кэша будут неудачными, пока лимит скорости не сбросается.
Кэширование зависимостейКоличество удалений в минуту400 в минутуКаждый репозиторий ограничен 400 операциями удаления кэша в минуту. Если этот лимит превышается, последующие попытки удаления кэша будут неудачными, пока лимит скорости не сбросается. Каждый запрос на удаление кэша по ключу или ID засчитывается в этот лимит.

Ограничения на параллельность заданий для GitHub-hosted runners

GitHub Поддержка может увеличить лимиты параллелизма заданий для GitHub Actions. Чтобы запросить увеличение, отправьте запрос в службу поддержки.

| Тип runner | GitHub План | Общее количество одновременных заданий | Максимальное количество одновременных заданий macOS | Максимальное число параллельных заданий GPU | |---|---|---|---|---| | Бегун с размещеным стандартом GitHub | Бесплатно | 20 | 5 | Нет данных | | Бегун с размещеным стандартом GitHub | Pro | 40 | 5 | Нет данных | | Бегун с размещеным стандартом GitHub | Группа | 60 | 5 | Нет данных | | Бегун с размещеным стандартом GitHub | Функции корпоративного уровня | 500 | 50 | Нет данных | | Более крупный бегун | Группа | 1000 | 5 | 100 | | Более крупный бегун | Функции корпоративного уровня | 1000 | 50 | 100 |

Примечание.

Максимальное количество одновременных задач macOS распределяется между стандартными GitHub-hosted runners и GitHub-hosted более крупными раннерами.

Ограничения на хранение для всех GitHub-hosted runners

GitHub Поддержка не может увеличить лимиты хранения для GitHub Actions.

PlanХранилище артефактовМинуты (в месяц)Хранилище кэша
GitHub Free500 МБ2 00010 ГБ
GitHub Pro1 ГБ3,00010 ГБ
GitHub Free для организаций500 МБ2 00010 ГБ
GitHub Team2 ГБ3,00010 ГБ
GitHub Enterprise Cloud50 ГБ50,00010 ГБ

Для получения информации о лимитах хранения кэша и способах их увеличения см. раздел «Лимиты использования и политика выселения».

Масштабирование частных IP-адресов для внедрения виртуальных сетей на более крупных запусках

При использовании более крупных модулей выполнения с внедрением виртуальных сетей необходимо определить соответствующий диапазон IP-адресов подсети, для которого рекомендуется добавить буфер к максимальному параллелизму заданий, которое вы ожидаете. Например, если в параметрах запуска конфигурации сети задано максимальное число параллелизмов заданий 300, используйте диапазон IP-адресов подсети, который может содержать по крайней мере 390 модулей выполнения. Обратите внимание, что Azure резервирует 5 IP в каждой подсети (первые 4 и последнюю 1), что устанавливает минимальный практический размер подсети в зависимости от требований раннера. Очень небольшие подсети (например, /29 или меньше) могут не предоставлять достаточно доступных адресов для ваших потребностей.

Распространенные ограничения зависимых служб

GitHub Ограничения скорости REST API применяются к GitHub Actions пользователям, и наиболее часто сталкиваются следующие ограничения:

  • Неаутентифицированные пользователи-Запросы без проверки подлинности можно выполнять, если вы извлекаете только общедоступные данные. Запросы, не прошедшие проверку подлинности, связаны с исходным IP-адресом, а не с пользователем или приложением, который сделал запрос.

    Основной предел скорости для неуправляемых запросов составляет 60 запросов в час.

  • Аутентифицированные пользователи-Для выполнения запросов API можно использовать personal access token. Кроме того, можно авторизовать GitHub App или OAuth app, которые затем могут выполнять запросы API от вашего имени.

    Все эти запросы учитываются по отношению к вашему личному ограничению в 5000 запросов в час. Запросы, сделанные от вашего имени GitHub App, принадлежащих организации GitHub Enterprise Cloud имеют более высокий предел скорости в 15 000 запросов в час. Аналогично, запросы, сделанные от вашего имени OAuth app, который принадлежит или одобрен организацией GitHub Enterprise Cloud, имеют более высокий лимит скорости — 15 000 запросов в час, если вы являетесь членом организации GitHub Enterprise Cloud. Однако запросы приложения с более высоким лимитом сокращают оставшийся бюджет на методы аутентификации с низкими лимитами. Например, если приложение с лимитом в 15 000 запросов делает 10 000 запросов от вашего имени, вы исчерпаете бюджет в 5 000 запросов для вашего personal access tokens, хотя у приложения осталось 5 000 запросов.

  • GitHub установки приложений-GitHub Apps аутентификация с помощью маркера доступа к установке использует минимальный предел скорости установки в 5000 запросов в час. Если установка находится в организации GitHub Enterprise Cloud , установка имеет ограничение скорости в 15 000 запросов в час.

    Для установок, которые не находятся в организации GitHub Enterprise Cloud организации, ограничение скорости установки будет масштабироваться с количеством пользователей и репозиториев. Установка с более чем 20 репозиториями получает еще 50 запросов в час для каждого репозитория. Установки, которые находятся в организации с более чем 20 пользователями, получают еще 50 запросов в час для каждого пользователя. Ограничение скорости не может превышать 12500 запросов в час.

    Основные ограничения скорости для маркеров доступа пользователей GitHub App (в отличие от маркеров доступа к установке) определяются основными ограничениями скорости для прошедшего проверку подлинности пользователя. Это ограничение скорости сочетается с любыми запросами, которые другие GitHub App или OAuth app выполняются от имени этого пользователя и любые запросы, которые пользователь делает с помощью personal access token. Дополнительные сведения см. в разделе Ограничения скорости для REST API.

  • **OAuth приложения -**Для этих запросов ограничение скорости составляет 5000 запросов в час за OAuth app. Если приложение принадлежит организации GitHub Enterprise Cloud, ограничение скорости составляет 15 000 запросов в час.

  • ТОКЕН GITHUB-Ограничение скорости GITHUB_TOKEN для каждого репозитория составляет 1000 запросов в час. Для запросов к ресурсам, принадлежащим учетной записи GitHub Enterprise Cloud, ограничение составляет 15 000 запросов в час в репозитории.

  • Вторичные тарифные лимиты- Помимо первичных ограничений скорости, GitHub применяется дополнительные лимиты для предотвращения злоупотреблений и сохранения доступности API для всех пользователей, которые не настраиваются с помощью GHEC. Дополнительные сведения см. в разделе Ограничения скорости для REST API.

Лимит ставки Docker Hub для GitHub Actions

  • **GitHub размещающие бегуны с публичными изображениями: лимит скорости ** Docker Hub не применяется.
  • GitHub размещённые бегуны, вытягивающие приватные изображения: Извлечение приватных изображений из Docker Hub подчиняется ограничению скорости.
  • Самостоятельные бегуны, выбирающие публичные или приватные изображения: Извлечение изображений из Docker Hub всегда подчиняется ограничению скорости.