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.
If you require additional software packages on GitHub-hosted runners, you can create a job that installs the packages as part of your workflow.
To see which packages are already installed by default, see "Preinstalled software."
This guide demonstrates how to create a job that installs additional software on a GitHub-hosted runner.
Installing software on Ubuntu runners
The following example demonstrates how to install an apt
package as part of a job.
name: Build on Ubuntu
on: push
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v2
- name: Install jq tool
run: |
sudo apt-get update
sudo apt-get install jq
Note: Always run sudo apt-get update
before installing a package. In case the apt
index is stale, this command fetches and re-indexes any available packages, which helps prevent package installation failures.
Installing software on macOS runners
The following example demonstrates how to install Brew packages and casks as part of a job.
name: Build on macOS
on: push
jobs:
build:
runs-on: macos-latest
steps:
- name: Check out repository code
uses: actions/checkout@v2
- name: Install GitHub CLI
run: |
brew update
brew install gh
- name: Install Microsoft Edge
run: |
brew update
brew install --cask microsoft-edge
Installing software on Windows runners
The following example demonstrates how to use Chocolatey to install the GitHub CLI as part of a job.
name: Build on Windows
on: push
jobs:
build:
runs-on: windows-latest
steps:
- run: choco install gh
- run: gh version