apiVersion: tekton.dev/v1 kind: Task metadata: name: platform-browsers annotations: description: | A task that does something cool with platforms and browsers spec: params: - name: platform - name: browser - name: url steps: - name: echo image: alpine script: | echo "Visit $(params.url) on $(params.platform) using $(params.browser)." --- apiVersion: tekton.dev/v1 kind: PipelineRun metadata: generateName: matrixed-pr- spec: taskRunTemplate: serviceAccountName: "default" pipelineSpec: tasks: - name: get-platforms taskSpec: results: - name: platforms type: array steps: - name: produce-a-list-of-platforms image: bash:latest script: | #!/usr/bin/env bash echo -n "[\"linux\",\"mac\",\"windows\"]" | tee $(results.platforms.path) - name: get-browsers-and-url taskSpec: results: - name: browsers type: array - name: url steps: - name: produce-a-list-of-browsers image: bash:latest script: | #!/usr/bin/env bash echo -n "[\"chrome\",\"safari\",\"firefox\"]" | tee $(results.browsers.path) - name: produce-url image: bash:latest script: | #!/usr/bin/env bash echo -n "myfavoritesitedotcom" | tee $(results.url.path) - name: platforms-and-browsers-dag matrix: params: - name: platform value: $(tasks.get-platforms.results.platforms[*]) - name: browser value: - $(tasks.get-browsers-and-url.results.browsers[0]) - $(tasks.get-browsers-and-url.results.browsers[2]) - name: url value: - $(tasks.get-browsers-and-url.results.url) taskRef: name: platform-browsers