Documentation structure for LLMs (llms.txt)

Using matrix jobs

Cloud Server

Matrix jobs provide a way to run a job multiple times with arguments that are supplied using parameters. An example of this is configuring testing on multiple operating systems and against different language or library versions.

Use matrix jobs to run multiple OS tests

In the following example, the test job runs across a Linux Docker container and a Linux VM. It uses two different versions of Node.js. On each run of the test job, different parameters are passed to set the OS and Node.js version:

Using Docker? Authenticating Docker pulls from image registries is recommended when using the Docker execution environment. Authenticated pulls allow access to private Docker images, and may also grant higher rate limits, depending on your registry provider. For further information, see Using Docker Authenticated Pulls.
version: 2.1

orbs:
  node: circleci/node@4.7

executors:
  docker: # Docker using the Base Convenience Image
    docker:
      - image: cimg/base:stable
  linux: # a Linux VM
    machine:
      image: default

jobs:
  test:
    parameters:
      os:
        type: executor
      node-version:
        type: string
    executor: << parameters.os >>
    steps:
      - checkout
      - node/install:
          node-version: << parameters.node-version >>
          install-yarn: true

workflows:
  all-tests:
    jobs:
      - test:
          matrix:
            parameters:
              os: [docker, linux]
              node-version: ["14.17.6", "16.9.0"]

List jobs that will run

The expanded version of this matrix runs the following list of jobs under the all-tests workflow:

    - test-14.17.6-docker
    - test-16.9.0-docker
    - test-14.17.6-linux
    - test-16.9.0-linux

Next steps

For full details of the matrix jobs specification, see the Configuration Reference.