Adding self-hosted runners

You can add a self-hosted runner to a repository to run jobs in a workflow.

To add a self-hosted runner to a user repository, you must be the repository owner. For an organization repository, you must be an organization owner or have admin access to the repository.

For information on supported operating systems for self-hosted runners, see "About self-hosted runners."

Warning: We recommend that you do not use self-hosted runners with public repositories.

Forks of your public repository can potentially run dangerous code on your self-hosted runner machine by creating a pull request that executes the code in a workflow.

For more information, see "About self-hosted runners."

  1. On GitHub, navigate to the main page of the repository.

  2. Under your repository name, click Settings.

    Repository settings button

  3. In the left sidebar, click Actions.

    Actions setting

  4. Next to "Self-hosted runners", click Add runner.

    Add runner button

  5. Select the operating system of your self-hosted runner machine.

    Select self-hosted runner operating system

  6. If you are using Linux, use the drop-down menu to select the architecture of your self-hosted runner machine.

    Select self-hosted runner architecture

  7. You will see instructions showing you how to download the runner application and install it on your self-hosted runner machine.

    Open a shell on your self-hosted runner machine and run each shell command in the order shown.

    Note: On Windows, if you want to install the runner application as a service, you must open a shell with administrator privileges. We also recommend that you use C:\actions-runner as the directory for the runner application so that Windows system accounts can access the runner directory.

    The instructions walk you through completing these tasks:

    • Downloading and extracting the self-hosted runner application.
    • Running the config script to configure the runner application and register it with your GitHub repository. The config script requires the repository URL and an automatically-generated time-limited token to authenticate the request.

    • Running the runner application to connect the machine to GitHub Actions.

After completing the steps to add a self-hosted runner, the runner and its status are now listed under "Self-hosted runners".

Self-hosted runner list

The runner application must be active for the runner to accept jobs. When the runner application is connected to GitHub and ready to receive jobs, you will see the following message on machine's terminal.

√ Connected to GitHub

2019-10-24 05:45:56Z: Listening for Jobs

For more information, see "Checking the status of self-hosted runners."

Ask a human

Can't find what you're looking for?

Contact us