To Execute 1 Job per Runner Only
We are currently implementing Test Execution of Test Suites using Gitlab's CI.
One of the issue we encountered is that it keeps using a runner even though it is being used by another job.
Problem 1:
- There are 3 available runners (different machines), config is already set to limit = 1 and request_concurrency = 1.
- Pipeline with 3 jobs running in parallel will be triggered.
Result: The 2 jobs will use 1 runner.
Expectation: The 3 jobs will use the 3 runners (1 job per runner).
Problem 2:
- Given the above conditions.
- Pipeline with 9 jobs running in parallel will be triggered.
Result: 6 jobs are running, executing 2 jobs in a runner.
Expectation: Only 3 jobs will be executed (1 job per runner) and the other jobs will be pending.
Other jobs will be executed once a runner is done with the first executions.
Current Setup:
- There are 3 Specific Runners with similar tag.
- config.toml on each runner have a setup of concurrent=1, limit=1, request_concurrency=1.
Edited by Paul Quevin Co