Skip to content

Requirements for self hosted runners

Shivam Mathur edited this page Jun 21, 2020 · 19 revisions

Note: This guide is for using self hosted runner without docker. To setup a docker container with a self hosted runner follow this guide.


To setup a self-hosted runner for setup-php, make sure the following requirements are met on your system.

Linux

  • Ubuntu 20.04 (focal), Ubuntu 18.04 (bionic) and Ubuntu 16.04 (xenial) are supported.
  • The action needs sudo, so make sure that is installed.
apt-get update
apt-get install sudo
  • The runner needs a user account having password-less sudo access, otherwise you would have to enter the password on each workflow run.
# Add user X to the sudo group and enable password-less sudo for all sudoers.
usermod -a -G sudo X
echo "%sudo ALL = (ALL) NOPASSWD: ALL" | sudo tee -a /etc/sudoers

If your workflow uses services, then make sure docker is installed.

curl https://get.docker.com | sh
sudo chmod o+rw /var/run/docker.sock

Windows

  • Windows 7 and above are supported.
  • The runner needs a user account which has Administrative privileges.
# Check that it lists Administrators in Local Group Memberships
net user $env:USERNAME | findstr "Local Group Memberships"
  • Powershell Core 6.0 or newer needs to be installed and added to PATH environment variable.
# Setup Latest Powershell Core using windows Powershell.
Invoke-Expression "& { $(Invoke-RestMethod 'https://aka.ms/install-powershell.ps1') } -AddToPath"

MacOS

  • MacOS X Catalina 10.15 is supported.
  • The runner needs a user account having password-less sudo access, otherwise you would have to enter the password on each workflow run.
# Enable password-less sudo
echo "%admin ALL = (ALL) NOPASSWD: ALL" | sudo tee -a /etc/sudoers