Skip to content

More dynamic runner resource assignment?

Summary

Currently Tycho has a maximum of two build slaves (+ a custom one) but a very varying usage profile:

  1. Sometimes not a single executor is used for a long time, or just one.
  2. On the other hand, if we are receiving dependency updates or preparing releases and fixing bugs there, there is a very large backlog of jobs and it really stop us from getting things done

What is the expected correct behavior?

It would be great to have a more dynamic runner resource assignment that allows to get more runners if the overall used resources are below a limit, e.g. with Github there are limits like maximum concurrent jobs, or "job minutes" and so on.

Just as an example we have two runners so one can assume we have 24h x 2 runner = 48 "job hours" a day. So instead of only allow two runners, it would be great to have e.g. up to 8 runners and each of those can run for 48 "job hours" / 8 runners = 6 h a day.

FYI @mistria @akurtakov

Priority

  • Urgent
  • High
  • Medium
  • Low

Severity

  • Blocker
  • Major
  • Normal
  • Low

Impact

We are blocked and working on more than a few (2 -3) PRs in parallel simply takes ages to complete.