I have a step like this:
- name: ‘E2E’
concurrency: 1
concurrency_group: “e2e”
So there is only 1 e2e tests run at a time for all the pipeline.
Recently, I implemented the parallelism
to make the tests run faster, then it became:
- name: ‘E2E’
parallelism: 4
concurrency: 1
concurrency_group: “e2e”
This step will create 4 sub threads (which is great!!) to run parallelly, but still, only 1 thread is run at a time. So I update it a bit:
- name: ‘E2E’
parallelism: 4
concurrency: 4
concurrency_group: “e2e”
Now the 4 sub threads were created and ran parallelly, but it broke my first criteria: only 1 e2e tests run at a time for all the pipeline.
For example:
- pipeline 1: 4 sub-threads, running 2, finished 2
- pipeline 2: 4 sub-threads, running 2, queuing 2 (because concurrency is 4)
I think concurrency
should be restricted to the main step, not the parallel thread.
Do you have any advise for this case?
Thank you.