Note: GitHub-hosted runners are not currently supported on GitHub Enterprise Server. You can see more information about planned future support on the GitHub public roadmap.
This article explains how site administrators can configure GitHub Enterprise Server to use GitHub Actions. It covers the hardware and software requirements, presents the storage options, and describes the security management policies.
Review hardware considerations
Note: If you're upgrading an existing GitHub Enterprise Server instance to 3.0 or later and want to configure GitHub Actions, note that the minimum hardware requirements have increased. For more information, see "Upgrading GitHub Enterprise Server."
The CPU and memory resources available to your GitHub Enterprise Server instance determine the maximum job throughput for GitHub Actions.
Internal testing at GitHub demonstrated the following maximum throughput for GitHub Enterprise Server instances with a range of CPU and memory configurations. You may see different throughput depending on the overall levels of activity on your instance.
| vCPUs | Memory | Maximum job throughput |
|---|---|---|
| 4 | 32 GB | Demo or light testing |
| 8 | 64 GB | 25 jobs |
| 16 | 160 GB | 35 jobs |
| 32 | 256 GB | 100 jobs |
If you plan to enable GitHub Actions for the users of an existing instance, review the levels of activity for users and automations on the instance and ensure that you have provisioned adequate CPU and memory for your users. For more information about monitoring the capacity and performance of GitHub Enterprise Server, see "Monitoring your appliance."
For more information about minimum hardware requirements for your GitHub Enterprise Server instance, see the hardware considerations for your instance's platform.
For more information about adjusting resources for an existing instance, see "Increasing storage capacity" and "Increasing CPU or memory resources."
External storage requirements
To enable GitHub Actions on GitHub Enterprise Server, you must have access to external blob storage.
GitHub Actions uses blob storage to store artifacts generated by workflow runs, such as workflow logs and user-uploaded build artifacts. The amount of storage required depends on your usage of GitHub Actions. Only a single external storage configuration is supported, and you can't use multiple storage providers at the same time.
GitHub Actions supports these storage providers:
- Azure Blob storage
- Amazon S3
- S3-compatible MinIO Gateway for NAS
Note: These are the only storage providers that GitHub supports and can provide assistance with. Other S3 API-compatible storage providers are unlikely to work due to differences from the S3 API. Contact us to request support for additional storage providers.
Enabling GitHub Actions with your storage provider
Follow one of the procedures below to enable GitHub Actions with your chosen storage provider:
- Enabling GitHub Actions with Azure Blob storage
- Enabling GitHub Actions with Amazon S3 storage
- Enabling GitHub Actions with MinIO Gateway for NAS storage
Managing access permissions for GitHub Actions in your enterprise
You can use policies to manage access to GitHub Actions. For more information, see "Enforcing GitHub Actions policies for your enterprise."
Adding self-hosted runners
Note: GitHub-hosted runners are not currently supported on GitHub Enterprise Server. You can see more information about planned future support on the GitHub public roadmap.
To run GitHub Actions workflows, you need to add self-hosted runners. You can add self-hosted runners at the enterprise, organization, or repository levels. For more information, see "Adding self-hosted runners."
Managing which actions can be used in your enterprise
You can control which actions your users are allowed to use in your enterprise. This includes setting up GitHub Connect for automatic access to actions from GitHub.com, or manually syncing actions from GitHub.com.
For more information, see "About using actions in your enterprise."
General security hardening for GitHub Actions
If you want to learn more about security practices for GitHub Actions, see "Security hardening for GitHub Actions."