About GitHub Actions
GitHub Actions enables you to create custom software development life cycle (SDLC) workflows directly in your GitHub repository.
GitHub Actions is available with GitHub Free, GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub One. GitHub Actions is not available for public or private repositories owned by accounts using legacy per-repository plans. For more information, see "GitHub's products."
In this article
- About GitHub Actions
- Discovering actions in the GitHub community
- Notifications for workflow runs
- Usage limits
- About billing for GitHub Actions
- Contacting support
- Further reading
About GitHub Actions
GitHub Actions help you automate your software development workflows in the same place you store code and collaborate on pull requests and issues. You can write individual tasks, called actions, and combine them to create a custom workflow. Workflows are custom automated processes that you can set up in your repository to build, test, package, release, or deploy any code project on GitHub.
With GitHub Actions you can build end-to-end continuous integration (CI) and continuous deployment (CD) capabilities directly in your repository. GitHub Actions powers GitHub's built-in continuous integration service. For more information, see "About continuous integration."
Workflows run in Linux, macOS, Windows, and containers on GitHub-hosted machines, called 'runners'. Alternatively, you can also host your own runners to run workflows on machines you own or manage. For more information see, "About self-hosted runners."
You can create workflows using actions defined in your repository, open source actions in a public repository on GitHub, or a published Docker container image. Workflows in forked repositories don't run by default.
You can discover actions to use in your workflow on GitHub and build actions to share with the GitHub community. For more information on creating a custom action, see "Building actions."
You can create a workflow file configured to run on specific events. For more information, see "Configuring a workflow" and "Workflow syntax for GitHub Actions".
For a definition of common terms, see "Core concepts for GitHub Actions."
Discovering actions in the GitHub community
GitHub Marketplace is a central location for you to find, share, and use actions built by the GitHub community. For more information, see "Using actions from GitHub Marketplace in your workflow."
You can also customize your project with open source actions shared in public repositories on GitHub and use actions built by GitHub in the actions organization.
Notifications for workflow runs
If you enable email or web notifications for GitHub Actions, you'll receive a notification when any workflow runs that you've triggered have completed. The notification will include the workflow run's status (including successful, failed, neutral, and canceled runs). You can also choose to receive a notification only when a workflow run has failed.
You can also see the status of workflow runs on a repository's Actions tab. For more information, see "Managing a workflow run."
There are some limits on GitHub Actions usage. Unless specified, the following limits apply only to GitHub-hosted runners, and not self-hosted runners. These limits are subject to change.
You can execute up to 20 workflows concurrently per repository. If exceeded, any additional workflows are queued.
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.
The number of concurrent jobs you can run across all repositories in your account depends on your GitHub plan. 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 15
You can execute up to 1000 API requests in an hour across all actions within a repository. This limit also applies to self-hosted runners. If exceeded, additional API calls will fail, which might cause jobs to fail.
In addition to these limits, GitHub Actions should not be used for:
- Content or activity that is illegal or otherwise prohibited by our Terms of Service or Community Guidelines.
- Serverless computing
- Activity that compromises GitHub users or GitHub services.
- Any other activity unrelated to the production, testing, deployment, or publication of the software project associated with the repository where GitHub Actions are used. In other words, be cool, don’t use GitHub Actions in ways you know you shouldn’t.
In order to prevent violations of these limitations and abuse of GitHub Actions, GitHub may monitor your use of GitHub Actions. Misuse of GitHub Actions may result in termination of jobs, or restrictions in your ability to use GitHub Actions.
About billing for GitHub Actions
GitHub Actions usage is free for public repositories. For private repositories, each GitHub account receives a certain amount of free minutes and storage, depending on the product used with the account. For more information, see "About billing for GitHub Actions."
If you need help with anything related to workflow configuration, such as syntax, GitHub-hosted runners, or building actions, look for an existing topic or start a new one in the GitHub Community Forum's GitHub Actions board.
If you have feedback or feature requests for GitHub Actions, share those in the Feedback form for GitHub Actions.
Contact GitHub Support or GitHub Premium Support for any of the following, whether your use or intended use falls into the usage limit categories:
- If you believe your account has been incorrectly restricted
- If you encounter an unexpected error when executing one of your Actions, for example: a unique ID
- If you encounter a situation where existing behavior contradicts expected, but not always documented, behavior