Skip to content
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate to self-hosted Runners #3291

Open
i2h3 opened this issue Jan 30, 2025 · 3 comments
Open

Migrate to self-hosted Runners #3291

i2h3 opened this issue Jan 30, 2025 · 3 comments
Assignees

Comments

@i2h3
Copy link

i2h3 commented Jan 30, 2025

As discussed with @tobiasKaminsky, I set up this issue for the idea of migrating our CI to a self-hosted macOS runner. It will be extended over the coming weeks to be discussed with all iOS development team members.

Advantages

  • Drastic performance improvements - The hosted GitHub actions macOS runners are very slow and in virtual machines. Running builds and tests on bare metal devices is a vast improvement in run time. In example, the 3184-download-limit2 actions took more than 30 minutes to complete. Clean building and running UI tests on a M3 MacBook Air take a bit more than 9 minutes.
  • Docker - We can deploy Docker and have images cached for close to instant and throw-away deployments of Nextcloud test servers. In example the Nextcloud Docker image. Instead of a bare metal installation on macOS, like currently happening, it would be its conventional environment and isolated from interference with the host.
  • Inspection - We can actually see what is going on on the Mac. We do not have to guess based on command-line output.

Disadvantages

  • Attack vector - Public repositories are subject to eased introduction of malicious code into corporate networks. See GitHub documentation.
  • Increased Maintenance - Someone has to take care of the runner and its integration. Though, it is not much additional work. I have experience with maintaining macOS CI runners for GitLab. Hence it likely will be me, as also discussed with @tobiasKaminsky. I will ensure that I won't become a knowledge silo and document it properly for everyone.
@i2h3 i2h3 self-assigned this Jan 30, 2025
@github-project-automation github-project-automation bot moved this to 🧭 Planning evaluation (don't pick) in 🤖 🍏 Clients team Jan 30, 2025
@i2h3
Copy link
Author

i2h3 commented Jan 30, 2025

@marinofaggiana @mpivchev @Ivansss and @SystemKeeper might want to comment.

@mpivchev
Copy link
Collaborator

This is amazing, hopefully it can work out :)

@mpivchev
Copy link
Collaborator

mpivchev commented Jan 30, 2025

Increased Maintenance - Someone has to take care of the runner and its integration. Though, it is not much additional work. I have experience with maintaining macOS CI runners for GitLab.

I would argue maintaining the GitHub runners is a bigger PITA than our own runner. We have to hack our way through it with only Github actions, without being able to configure it internally. This was really apparent when trying to run docker for example (which at the end was unsuccessful anyway)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🧭 Planning evaluation (don't pick)
Development

No branches or pull requests

2 participants