Skip to main content
added 64 characters in body
Source Link
Markos Fragkakis
  • 7.8k
  • 18
  • 69
  • 106

I wrote a blog post about this (linklink). The currently accepted answer runs all groups in a single runner, which doesn't really scale out. The answer by Benjamin Curtis does scale out, but only sends a single group to each runner, which for my use case didn't really utilize the runner's resources. In the approach I followed, I also use the matrix strategy, but rather send 3 groups to each runner.

This is the relevant snippet:

run_unit_tests_chunk: # this is the job for the unit tests (non-integration tests) strategy: matrix: groups: [ "[1,2,3]", "[4,5,6]", "[7,8,9]", "[10,11,12]"] uses: ./.github/workflows/ci_unit_tests_chunk.yml secrets: inherit with: groups: ${{ matrix.groups }} group_count: 12 # the total number of test groups, must match the groups listed in the matrix.groups parallel_processes_count: 3 # the number of parallel processes to run tests in worker, must match the size of the # inner arrays in the matrix.groups 

You can read more on the blog post I wrote about this (linklink).

I wrote a blog post about this (link). The currently accepted answer runs all groups in a single runner, which doesn't really scale out. The answer by Benjamin Curtis does scale out, but only sends a single group to each runner, which for my use case didn't really utilize the runner's resources. In the approach I followed, I also use the matrix strategy, but rather send 3 groups to each runner.

This is the relevant snippet:

run_unit_tests_chunk: # this is the job for the unit tests (non-integration tests) strategy: matrix: groups: [ "[1,2,3]", "[4,5,6]", "[7,8,9]", "[10,11,12]"] uses: ./.github/workflows/ci_unit_tests_chunk.yml secrets: inherit with: groups: ${{ matrix.groups }} group_count: 12 # the total number of test groups, must match the groups listed in the matrix.groups parallel_processes_count: 3 # the number of parallel processes to run tests in worker, must match the size of the # inner arrays in the matrix.groups 

You can read more on the blog post I wrote about this (link).

I wrote a blog post about this (link). The currently accepted answer runs all groups in a single runner, which doesn't really scale out. The answer by Benjamin Curtis does scale out, but only sends a single group to each runner, which for my use case didn't really utilize the runner's resources. In the approach I followed, I also use the matrix strategy, but rather send 3 groups to each runner.

This is the relevant snippet:

run_unit_tests_chunk: # this is the job for the unit tests (non-integration tests) strategy: matrix: groups: [ "[1,2,3]", "[4,5,6]", "[7,8,9]", "[10,11,12]"] uses: ./.github/workflows/ci_unit_tests_chunk.yml secrets: inherit with: groups: ${{ matrix.groups }} group_count: 12 # the total number of test groups, must match the groups listed in the matrix.groups parallel_processes_count: 3 # the number of parallel processes to run tests in worker, must match the size of the # inner arrays in the matrix.groups 

You can read more on the blog post I wrote about this (link).

Source Link
Markos Fragkakis
  • 7.8k
  • 18
  • 69
  • 106

I wrote a blog post about this (link). The currently accepted answer runs all groups in a single runner, which doesn't really scale out. The answer by Benjamin Curtis does scale out, but only sends a single group to each runner, which for my use case didn't really utilize the runner's resources. In the approach I followed, I also use the matrix strategy, but rather send 3 groups to each runner.

This is the relevant snippet:

run_unit_tests_chunk: # this is the job for the unit tests (non-integration tests) strategy: matrix: groups: [ "[1,2,3]", "[4,5,6]", "[7,8,9]", "[10,11,12]"] uses: ./.github/workflows/ci_unit_tests_chunk.yml secrets: inherit with: groups: ${{ matrix.groups }} group_count: 12 # the total number of test groups, must match the groups listed in the matrix.groups parallel_processes_count: 3 # the number of parallel processes to run tests in worker, must match the size of the # inner arrays in the matrix.groups 

You can read more on the blog post I wrote about this (link).