Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

fix: error for multi-runner setup when using extra_labels#4587

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
raford-ice wants to merge4 commits intogithub-aws-runners:main
base:main
Choose a base branch
Loading
fromraford-ice:fix/multi-runner-dispatch

Conversation

@raford-ice
Copy link

@raford-iceraford-ice commentedMay 19, 2025
edited
Loading

I have found a issue when configuring a multi-runner module setup when usingrunner_extra_labels. I am going to simplify this example not adding extra irrelevant configuration.

Suppose you have a runner map with this configuration (in this example I will only show one runner):

runners_config = {  "amazon-arm64" = {    "matcherConfig" = {      "exactMatch" = true      "labelMatchers" = [        [          "self-hosted",          "linux",          "arm64",          "amazon",        ],      ]    }    "runner_config" = {      "enable_organization_runners" = true      "instance_types" = [        "t4g.small",      ]      "runner_architecture" = "arm64"      "runner_extra_labels" = [        "test",      ]      "runner_name_prefix" = "gh-runner-arm64-"      "runner_os" = "linux"    }  }}

So no pool is configured, after running terraform, no instances will be running.

When I trigger a new workflow run with:

    runs-on: [self-hosted, amazon, arm64]

it works as expected, webhook pick up the job and a new runner is created and pick the job.

When I trigger a new workflow run with:

    runs-on: [self-hosted, amazon, arm64, test]

Note now, I have addedtest label, the workflow run is picked up by Github and it stays in pending status with no runner picking up the job.

dispatch-to-runner lambda rejects the job with the following log:

    "message": "Received event contains runner labels 'self-hosted,amazon,arm64,test' that are not accepted.",    ...

Changes introduced in this commit fixes the issue for multi-runner module

@raford-iceraford-ice requested a review froma team as acode ownerMay 19, 2025 17:02
@raford-iceraford-ice changed the titleFix error for multi-runner setup when using extra_labels. Dispatch la…fix: error for multi-runner setup when using extra_labelsMay 19, 2025
@raford-iceraford-iceforce-pushed thefix/multi-runner-dispatch branch from6be2dca to5081205CompareMay 19, 2025 17:31
@npalm
Copy link
Member

Sorry have not much time. The labels is complex and should be read als capabilities. In you example you have set exact match to true. This will let the lambda try to match all the labels. And since your job is not containing all, no event is put on the queue to scale. Indeed a runner with those labels could run your job. Can you trie it with exact match set to false?

@raford-ice
Copy link
Author

Sorry for my late reply. I can confirm that if you set the flagexactMatch tofalse it will work, because it is not asserting all the labels are present which makes sense. But this is against the definition ofexactMatch andrunner_extra_labels variables:

exactMatch: "If set to true all labels in the workflow job must match the GitHub labels (os, architecture andself-hosted). When false ifany workflow label matches it will trigger the webhook."

runner_extra_labels: "Extra (custom) labels for the runners (GitHub). Separate each label by a comma. Labels checks on the webhook can be enforced by settingmulti_runner_config.matcherConfig.exactMatch. GitHub read-only labels should not be provided."

If you can not useexactMatch to true to make it work withrunner_extra_labels what is the purpose ofrunner_extra_labels? From my perspectiverunner_extra_labels is a way to extendlabelMatchers list but with the same functionality.

@raford-ice
Copy link
Author

@npalm any update on this?

@npalm
Copy link
Member

I had no time yet to dig in this PR. Changes to the wya labels are processed are proven to be risky :(

Anyone that has time to review the PR feel free to dig.

@sdarwin
Copy link
Contributor

Added a comment in the Issue.
Not absolutely sure, but if what I wrote there is correct, then this pull request isn't necessary and should be closed.

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

3 participants

@raford-ice@npalm@sdarwin

[8]ページ先頭

©2009-2025 Movatter.jp