[C, F] Using custom labels to route jobs You can create custom labels and assign them to your self-hosted runners at any time. Custom labels let you send jobs to particular types of self-hosted runners, based on how they're labeled. [E] Using default labels to route jobs A self-hosted runner automatically receives certain labels when it is added to GitHub Actions. These are used to indicate its operating system and hardware platform: self-hosted: Default label applied to self-hosted runners. linux, windows, or macOS: Applied depending on operating system. x64, ARM, or ARM64: Applied depending on hardware architecture. You can use your workflow's YAML to send jobs to a combination of these labels. In this example, a self-hosted runner that matches all three labels will be eligible to run the job: runs-on: [self-hosted, linux, ARM64] self-hosted - Run this job on a self-hosted runner. linux - Only use a Linux-based runner. ARM64 - Only use a runner based on ARM64 hardware. Reference: https://docs.github.com/en/actions/how-tos/manage-runners/self-hosted-runners/use-in-a- workflow