macOS runners all use the same sharing name, causing Xcode UI tests to fail

I’m unable to run Xcode UI tests on GitHub actions, as the VM is using a non-unique name, and macOS puts up a dialog alerting me that it has changed the system name. This dialog appears over everything and is causing my UI tests to fail:

This is happening because all of the CI runners have the base Computer Name of “Mac”. Given that this is used for networking sharing via Bonjour, you can probably understand why this is a big problem when there are a potentially large number of these runners active on the same network simultaneously.

Could you please assign unique computer names to each macOS instance so that this doesn’t happen?

I reported this issue in late February, but there has been nothing beyond “we’re tracking it internally”. Is there a fix on the horizon, or should I be investigating alternatives to GitHub Actions for my needs? (I’d really like to not have to!).

Hi @tonyarnold ,

This is indeed a limitation for self-hosted runner. Github engineering team are going to support custom labels, should be released before the end of this month. You could keep an eye on Changelog site for the new features of Github Actions. 

Thanks.

That’s not a solution! Why do GitHub people keep marking “it’s coming” as a solution?! 

This is incredibly frustrating.

Hi @tonyarnold ,

Custom label feature has been released! Please refer to the changelog link here for the details. Now it’s possible to seperate the macOS runners and specify one of them for your workflow.

When you download the runner installation package, please use ‘2.169.1’ version.

// Download the latest runner package
$ curl -O -L https://github.com/actions/runner/releases/download/v2.169.1/actions-runner-osx-x64-2.169.1.tar.gz
// Extract the installer
$ tar xzf ./actions-runner-osx-x64-2.169.1.tar.gz

And when you configure the self-hosted runner, add the custom label you’d like.

Regarding the runner name, you can manually specify the runner name during configuration.

Does this label in any way change or affect the sharing name of the VM/macOS instance that the runner is running on? Maybe I haven’t explained myself very well, but I don’t believe what you’ve linked to has any impact on the problem I’m reporting?

Hi @tonyarnold ,

The label won’t affect the sharing name of VM, it provides a way to select one of the same OS self-hosted runners.

It’s recommended to raise a ticket here where github stuff will take a review. Thanks.

From my knowledge of this issue, the runner plays no part in this problem. It’s the configuration of the host VM environment that’s incorrect.

Filing an issue on the runner seems inappropriate to me.

Hi @tonyarnold ,

Thanks for your reply! 

The name specified during selfhosted runner configuration will not affect the VM hostname, it only affects the runner name which displayed in repo setting. According to your description, all of your macOS runner has the same name ‘Mac’, and it caused the UI test error, so what you’d like is runner configuration help to set unique computer name to your local machine, could you please confirm?

all of your macOS runner has the same name ‘Mac’, and it caused the UI test error

My wording here is wrong. The GitHub hosted VMs are misconfigured - they should not all have the same Sharing name. I would not expect the runner to change OS-level configuration at any point.

Hi @tonyarnold ,

Thanks for your clarification. GitHub uses MacStadium to host the macOS runners. According to the policy, please raise your feature_request here where github product manager will take a review. Sorry for the misunderstood.

I already did that before opening this thread, as I didn’t get any kind of response beyond “we know about it”. 

It’s been weeks. I’m going to need to look elsewhere for my CI needs, because GitHub is charging 10 times the price for the macOS runners and not fixing issues like this with any kind of urgency.