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

Consider Self-Hosted Runners for Performance #149

Closed
timothystewart6 opened this issue Nov 5, 2022 · 3 comments
Closed

Consider Self-Hosted Runners for Performance #149

timothystewart6 opened this issue Nov 5, 2022 · 3 comments
Labels
CI Related to continuous integration and testing

Comments

@timothystewart6
Copy link
Contributor

CI takes a while to run, which is to be expected since we are spinning up VirtualBox VMs on a macOS via GitHub. I've tried running this in kubernetes #136 however Kubernetes isn't the right tool for the job considering that it uses containers and this CI pipeline needs to create and run VMs.

2 options if performance continues to be an issue:

Self Host VMs

  • Create a dedicated VM for runners that will pick up the jobs.
  • This is the easiest route and takes the least amount of change
  • Will just need to configure a VM to handle this

Use K8s but provision Proxmox as a VM provider for Vagrant

  • This would allow use to use Kubernetes to coordinate the work and scale up, but then use Proxmox host for the virtual machines that are used and tested.
  • This would be the most challenging because we would have to swap the provider from VirtualBox to Proxmox and store secrets etc.
  • Some of the work was already done in Self hosted runners #136
@vdovhanych
Copy link
Contributor

vdovhanych commented Nov 13, 2022

If you go the way of using self-hosted runners for GitHub actions that are triggered for pull-request, make sure this option is enabled and set to Require approval for all outside collaborators.
Also, ensure to only allow runs for pull requests that do not change workflow yaml configuration. This could lead to potentially unwanted code execution on the self-hosted runners and someone having access to a machine running in your environment.

@timothystewart6
Copy link
Contributor Author

If you go the way of using self-hosted runners for GitHub actions that are triggered for pull-request, make sure this option is enabled and set to Require approval for all outside collaborators. Also, ensure to only allow runs for pull requests that do not change workflow yaml configuration. This could lead to potentially unwanted code execution on the self-hosted runners and someone having access to a machine running in your environment.

Thank you! For sure! This is already enabled even prior to testing self-hosted runners! I will also make sure to ignore yaml changes for workflows, good call!

@timothystewart6 timothystewart6 added the CI Related to continuous integration and testing label Nov 23, 2022
@timothystewart6
Copy link
Contributor Author

this was fixed by #389

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Related to continuous integration and testing
Projects
None yet
Development

No branches or pull requests

2 participants