Split jobs in a parallel matrix jobs

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Release notes

The parallel keyword allows users to run a job multiple times in a single pipeline. It would be great to have this capability work along the parallel:matrix. This way a user can quickly define the number of times the matrix has to be run.

Problem to solve

Have a simpler way of running a job multiple times in parallel in a single pipeline, but with different variable values for each instance of the job.

Proposal

Have a separate keyword like split for splitting the job. In this example the pipeline would run the jobs 2 times across the different environments.

test:
  script: rspec
  parallel:
    split: 2
    matrix:
      - ENV: [dev, test, prod]
  environment: $ENV

At the moment you can try using a 2D matrix but it would be great to have a simpler variable to set this specially for cases where a larger index/instance is needed.

test:
  stage: deploy
  script:
    - rspec
  parallel:
    matrix:
      - INDEX: [0, 1]
        ENV: [dev, test, prod]
  environment: $ENV

Intended users

Feature Usage Metrics

This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.

Edited by 🤖 GitLab Bot 🤖