actions / actions/runner

Allow removal of default runner tags

Open
#1,240 4 comments 18 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement question
Dominant language
C#
Stars
6.3k
Forks
1.4k
Avg merge
1d 16h
Merged PRs (30d)
24

Description

Describe the enhancement

Allow a flag (or another mechanism) to remove the default self-hosted, ${operating_system} and ${operating_system_arch} labels when connecting to a privately hosted Github Enterprise installation.

Code Snippet
n/a

Additional information

The current Github Runner agent adds default labels that include the self-hosted, operating system and architecture.

For enterprise rollouts we have a desire for Runners to be attached as an organizational default pool, org specific pools and repo specific pools we have noticed that folks following the default installation instructions will generally not initially tag their runners. The default workflows then use something such as self-hosted as the target. This generally works as long as their runner is the only runner attached.

Occasionally a group will attach another set of runners at an org level and it contains the same default tag. Without any clear change at the repo level, now the runner is randomly scheduled as the repo runner or the org runner.

Additionally some orgs may wish to manage an inhouse set of runners that are available to all orgs. In this case, they can inadvertently be used as well.

While internal documentation and best practice can help in this scenario, having a mechanism that allows the default tags to be removed and replaced would allow our enterprise-wide runners to not attach with self-hosted, and instead attach as enterprise-self-hosted or similar.

This would reduce the chances of a team accidentally building on a runner they did not intend to build on.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with src/Runner.Listener/Configuration/ConfigurationManager.cs at the default-label logic linked in the issue, then trace how runner labels are configured during connection to GitHub Enterprise. Done means an enterprise installation can remove or replace the default self-hosted, operating-system, and architecture labels without unintentionally matching those runner pools.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
ci-cd
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.