GitHub Actions usage is free for both public repositories and self-hosted runners. For private repositories, each GitHub account receives a certain amount of free minutes and storage, depending on the product used with the account. Any usage beyond the included amounts is controlled by spending limits. For more information, see "About billing for GitHub Actions."
There are some limits on GitHub Actions usage when using GitHub-hosted runners. These limits are subject to change.
Note: For self-hosted runners, different usage limits apply. For more information, see "About self-hosted runners."
Job execution time - Each job in a workflow can run for up to 6 hours of execution time. If a job reaches this limit, the job is terminated and fails to complete.
Workflow run time - Each workflow run is limited to 72 hours. If a workflow run reaches this limit, the workflow run is cancelled.
API requests - You can execute up to 1000 API requests in an hour across all actions within a repository. If exceeded, additional API calls will fail, which might cause jobs to fail.
Concurrent jobs - The number of concurrent jobs you can run in your account depends on your GitHub plan, as indicated in the following table. If exceeded, any additional jobs are queued.
GitHub plan Total concurrent jobs Maximum concurrent macOS jobs Free 20 5 Pro 40 5 Team 60 5 Enterprise 180 50
Job matrix - A job matrix can generate a maximum of 256 jobs per workflow run. This limit also applies to self-hosted runners.
Workflow run queue - No more than 500 workflow runs can be queued in a 10 second interval per repository. If a workflow run reaches this limit, the workflow run is terminated and fails to complete.
In addition to the usage limits, you must ensure that you use GitHub Actions within the GitHub Terms of Service. For more information on GitHub Actions-specific terms, see the GitHub Additional Product Terms.
You can configure the artifact and log retention period for your repository, organization, or enterprise account.
By default, the artifacts and log files generated by workflows are retained for 90 days before they are automatically deleted. You can adjust the retention period, depending on the type of repository:
- For public repositories: you can change this retention period to anywhere between 1 day or 90 days.
- For private, internal, and GitHub Enterprise Server repositories: you can change this retention period to anywhere between 1 day or 400 days.
When you customize the retention period, it only applies to new artifacts and log files, and does not retroactively apply to existing objects. For managed repositories and organizations, the maximum retention period cannot exceed the limit set by the managing organization or enterprise.
For more information, see:
- Configuring the retention period for GitHub Actions for artifacts and logs in your repository
- Configuring the retention period for GitHub Actions for artifacts and logs in your organization
- Configuring the retention period for GitHub Actions for artifacts and logs in your enterprise
By default, GitHub Actions is enabled on all repositories and organizations. You can choose to disable GitHub Actions or limit them to private actions only, which means that people can only use actions that exist in your repository.
For more information, see:
- "Disabling or limiting GitHub Actions for a repository"
- "Disabling or limiting GitHub Actions for your organization"
- "Enforcing GitHub Actions policies in your enterprise account" for GitHub Enterprise Cloud
You can enable and disable individual workflows in your repository on GitHub.
To prevent unnecessary workflow runs, scheduled workflows may be disabled automatically. When a public repository is forked, scheduled workflows are disabled by default. In a public repository, scheduled workflows are automatically disabled when no repository activity has occurred in 60 days.
For more information, see "Disabling and enabling a workflow."