Using labels with self-hosted runners

You can use labels to organize your self-hosted runners based on their characteristics.

For information on how to use labels to route jobs to specific types of self-hosted runners, see Using self-hosted runners in a workflow. You can also route jobs to runners in a specific group. For more information, see Choosing the runner for a job.

A self-hosted runner can be located in either your repository, organization, or enterprise account settings on GitHub. To manage a self-hosted runner, you must have the following permissions, depending on where the self-hosted runner was added:

Creating a custom label

You can create custom labels for runners at the repository and organization levels.

Note

Labels are case-insensitive.

Creating a custom label for a repository runner

  1. Navigate to the main page of the repository where your self-hosted runner group is registered.
  2. Click Settings.
  3. In the left sidebar, click Actions, then click Runners.
  4. In the list of runners, click on the name of the runner you'd like to configure.
  5. In the "Labels" section, click .
  6. In the "Find or create a label" field, type the name of your new label and click Create new label. The custom label is created and assigned to the self-hosted runner. Custom labels can be removed from self-hosted runners, but they currently can't be manually deleted. Any unused labels that are not assigned to a runner will be automatically deleted within 24 hours.

Creating a custom label for an organization runner

  1. Navigate to the main page of the organization where your self-hosted runner group is registered.
  2. Click Settings.
  3. In the left sidebar, click Actions, then click Runners.
  4. In the list of runners, click on the name of the runner you'd like to configure.
  5. In the "Labels" section, click .
  6. In the "Find or create a label" field, type the name of your new label and click Create new label. The custom label is created and assigned to the self-hosted runner. Custom labels can be removed from self-hosted runners, but they currently can't be manually deleted. Any unused labels that are not assigned to a runner will be automatically deleted within 24 hours.

Assigning a label to a self-hosted runner

You can assign labels to self-hosted runners at the repository and organization levels.

Assigning a label to a repository runner

  1. Navigate to the main page of the repository where your self-hosted runner group is registered.
  2. Click Settings.
  3. In the left sidebar, click Actions, then click Runners.
  4. In the "Labels" section, click .
  5. To assign a label to your self-hosted runner, in the "Find or create a label" field, click the label.

Assigning a label to an organization runner

  1. Navigate to the main page of the organization where your self-hosted runner group is registered.
  2. Click Settings.
  3. In the left sidebar, click Actions, then click Runners.
  4. In the "Labels" section, click .
  5. To assign a label to your self-hosted runner, in the "Find or create a label" field, click the label.

Removing a custom label from a self-hosted runner

You can remove custom labels from self-hosted runners at the repository and organization levels.

Removing a custom label from a repository runner

  1. Navigate to the main page of the repository where your self-hosted runner group is registered.
  2. Click Settings.
  3. In the left sidebar, click Actions, then click Runners.
  4. In the "Labels" section, click .
  5. In the "Find or create a label" field, assigned labels are marked with the icon. Click on a marked label to unassign it from your self-hosted runner.

Removing a custom label from an organization runner

  1. Navigate to the main page of the organization where your self-hosted runner group is registered.
  2. Click Settings.
  3. In the left sidebar, click Actions, then click Runners.
  4. In the "Labels" section, click .
  5. In the "Find or create a label" field, assigned labels are marked with the icon. Click on a marked label to unassign it from your self-hosted runner.

Programmatically assign labels

You can programmatically assign labels to a self-hosted runner after the runner is created, or during its initial configuration.