Skip to content

Meta Labels

vzakaznikov edited this page Mar 7, 2024 · 7 revisions

Using Meta Labels

Meta labels can be used to define custom runner labels that will be expanded to include itself as well as any other supported labels, such as:

The meta labels can be defined using the --meta-label option. More than one meta label can be defined.

✋ Note: The meta label is not replaced but expanded to include itself and any labels that are defined for it.

Examples

  • You can define test-arm and test-x86 meta labels to provide x86 and ARM runners with the specific server type and image.

    github-hetzner-runners --meta-label test-arm "self-hosted,type-cax21,image-arm-system-ubuntu-22.04" --meta-label test-x86 "self- 
    hosted,type-cpx21,image-x86-system-ubuntu-22.04"

    will define the following two meta labels:

    • test-arm that will map to [test-arm, self-hosted, type-cax21, image-arm-system-ubuntu-22.04]
    • test-x86 that will map to [test-x86, self-hosted, type-cpx21, image-x86-system-ubuntu-22.04]

    Once meta labels are defined, you can use them to request a runner with the corresponding labels.

    job-name:
      runs-on: [test-arm]

    that will be equivalent to

    job-name:
      runs-on: [test-arm, self-hosted, type-cax21, image-arm-system-ubuntu-22.04]

    and

    job-name:
      runs-on: [test-x86]

    that will be equivalent to

    job-name:
      runs-on: [test-x86, self-hosted, type-cpx21, image-x86-system-ubuntu-22.04]
  • You can make self-hosted to be a meta label to include your custom defaults for server type, server image and location.

    github-hetzner-runners  --meta-label self-hosted type-cax21,image-arm-system-ubuntu-22.04,in-hel1
  • You can use meta label to define proper server image for ARM server types given that the default image is for x86.

    github-hetzner-runners  --meta-label type-cax21 image-arm-system-ubuntu-22.04
Clone this wiki locally