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

ci: use self-hosted runners for CI pipelines #5572

Closed
gustavovalverde opened this issue Nov 7, 2022 · 9 comments · Fixed by #7520
Closed

ci: use self-hosted runners for CI pipelines #5572

gustavovalverde opened this issue Nov 7, 2022 · 9 comments · Fixed by #7520
Assignees
Labels
A-devops Area: Pipelines, CI/CD and Dockerfiles C-bug Category: This is a bug C-enhancement Category: This is an improvement

Comments

@gustavovalverde
Copy link
Member

gustavovalverde commented Nov 7, 2022

Motivation

Some of our tests, mainly our full sync test, are way above GitHub-hosted runners limits, being the 6 hours timeout the main limitation.

We might want to start testing GitHub self-hosted runners to raise the limits.

Designs

  • Deploy a Self-hosted runner to GCP using terraform
  • Confirm how the cached state is handled with a self-hosted runner (SHR)
  • Validate how SSH connections will be handled in a SHR
  • Move the full-sync job to this runner
  • Validate time, reliability and cost of hosting the runner

Related Work

Another approach would be using #5551, if we get through their beta waitlist. But this might won't get rid from the 6 hours limit.

@gustavovalverde gustavovalverde added C-bug Category: This is a bug A-devops Area: Pipelines, CI/CD and Dockerfiles C-enhancement Category: This is an improvement S-needs-triage Status: A bug report needs triage P-Medium ⚡ labels Nov 7, 2022
@mpguerra
Copy link
Contributor

mpguerra commented Nov 8, 2022

@teor2345
Copy link
Contributor

teor2345 commented Nov 8, 2022

@gustavovalverde @mpguerra can we be more specific with the scope here? What specific changes are we going to try?

It's hard to estimate this ticket without a list of tasks or a list of requirements.

@arya2
Copy link
Contributor

arya2 commented Nov 8, 2022

Larger runners are still limited to 6 hours, but this may bypass ssh issues if done the hard way.

https://github.com/actions-runner-controller/actions-runner-controller
https://github.com/jonico/awesome-runners

@dconnolly
Copy link
Contributor

@gustavovalverde @mpguerra can we be more specific with the scope here? What specific changes are we going to try?

It's hard to estimate this ticket without a list of tasks or a list of requirements.

Yeah we might want to scope this first issue as 'try setting up /a/ self-hosted runner for one simple workflow/action'

@gustavovalverde
Copy link
Member Author

I added some steps

@teor2345
Copy link
Contributor

teor2345 commented Nov 9, 2022

Thanks, that looks good!

  • Add other sync jobs to the runner

I think moving all the sync jobs might be out of scope for an initial ticket. There's no particular urgency, they seem to be working ok.

Or did you want this to become a tracking issue?

@gustavovalverde
Copy link
Member Author

I removed that one.

@aktech
Copy link

aktech commented Nov 17, 2022

By the way, if you want a no-maintenance method to achieve that, you can use cirun.io for the same.

@gustavovalverde gustavovalverde self-assigned this Dec 19, 2022
@mpguerra
Copy link
Contributor

unscheduling for now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-devops Area: Pipelines, CI/CD and Dockerfiles C-bug Category: This is a bug C-enhancement Category: This is an improvement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants