Note: GitHub Actions was available for GitHub Enterprise Server 2.22 as a limited beta. The beta has ended. GitHub Actions is now generally available in GitHub Enterprise Server 3.0 or later. For more information, see the GitHub Enterprise Server 3.0 release notes.
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.
GitHub Actions workflows can use actions, which are individual tasks that you can combine to create jobs and customize your workflow. You can create your own actions, or use and customize actions shared by the GitHub community.
GitHub Actions on GitHub Enterprise Server is designed to work in environments without internet access. By default, workflows cannot use actions from GitHub.com and GitHub Marketplace.
Most official GitHub-authored actions are automatically bundled with GitHub Enterprise Server, and are captured at a point in time from GitHub Marketplace. When your GitHub Enterprise Server instance is updated, the bundled official actions are also updated.
The bundled official actions include
actions/labeler, and various
actions/setup- actions, among others. To see all the official actions included on your enterprise instance, browse to the
actions organization on your instance:
Each action is a repository in the
actions organization, and each action repository includes the necessary tags, branches, and commit SHAs that your workflows can use to reference the action.
Note: When using setup actions (such as
actions/setup-LANGUAGE) on GitHub Enterprise Server with self-hosted runners, you might need to set up the tools cache on runners that do not have internet access. For more information, see "Setting up the tool cache on self-hosted runners without internet access."
If users on your enterprise instance need access to other actions from GitHub.com or GitHub Marketplace, there are a few configuration options.
The recommended approach is to enable automatic access to all actions from GitHub.com. You can do this by using GitHub Connect to integrate GitHub Enterprise Server with GitHub Enterprise Cloud. For more information, see "Enabling automatic access to GitHub.com actions using GitHub Connect". After you enable GitHub Connect, you can use policies to restrict which public actions can be used in repositories in your enterprise. For more information, see "Enforcing GitHub Actions policies for your enterprise."
Alternatively, if you want stricter control over which actions are allowed in your enterprise, you can manually download and sync actions onto your enterprise instance using the
actions-sync tool. For more information, see "Manually syncing actions from GitHub.com."