Skip to content
Novus Examples
yaml838 B

Tekton Task with Params, Workspaces, and Results

A Tekton Task declaring string and array params, a workspace, a result, and two steps that use Tekton's $(params.x) and $(workspaces.x.path) variable syntax, including the $(params.flags[*]) array expansion form.

Preview — first 33 linesyaml
apiVersion: tekton.dev/v1
kind: Task
metadata:
  name: build-artifact
  namespace: example-apps
spec:
  description: Inert fixture. Describes a task; nothing here runs.
  params:
    - name: target
      type: string
      default: all
    - name: flags
      type: array
      default: []
  workspaces:
    - name: source
      description: Checked-out source tree
  results:
    - name: artifact-digest
      description: Digest of the produced artifact
      type: string
  steps:
    - name: compile
      image: registry.example.invalid/ci/build:3.1
      workingDir: $(workspaces.source.path)
      script: |
        echo "target=$(params.target)"
      args: ["$(params.flags[*])"]
    - name: record
      image: registry.example.invalid/ci/build:3.1
      script: |
        printf 'sha256:0000' > $(results.artifact-digest.path)

Specifications

System
Tekton
Kind
Task
Api Version
tekton.dev/v1
Params
2
Array Param
true
Workspaces
1
Results
1
Steps
2
Variable Syntax
$(params.x)

Testing contract

Expected to pass
Scenario
Resolve Tekton's $() variable syntax, including the [*] array-expansion form
Expected result
Every $() reference binds to a declared param, workspace, or result, and $(params.flags[*]) is recognised as an array expansion rather than a string

What is a .yaml file?

YAML (YAML Ain't Markup Language) is a human-readable data-serialization format using indentation, key-value pairs, and lists, and is a superset of JSON. It supports comments, anchors, and multiple documents per file, favoring readability for configuration. Its indentation sensitivity makes it error-prone to hand-edit.

How to use this file

Use an example YAML file to test config parsers, indentation and anchor handling, multi-document streams, and safe-loading to avoid arbitrary object construction.

How to use this file for testing

“Tekton Task with Params, Workspaces, and Results” is a deterministic Novus Examples fixture for Config testing, Config parsing, Editor testing. TOML, INI, YAML, .env, and dotfile configuration samples with nested sections and typed values — for testing config parsers, loaders, and environment tooling.

Documented properties for this file: YAML · 838 bytes. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Pipeline and infrastructure fixtures are inert configuration: steps reference fictional images and scripts, and nothing here executes. Run your linter, schema validator, migrator, or policy engine against them, and expect the deprecated-syntax and intentionally invalid variants to be rejected.

Point your config loader at the file and assert it reads the documented sections and typed values, including any deliberately-tricky nesting or comments.

Code examples

import yaml  # pip install pyyaml

with open("tekton-task.yaml") as f:
    data = yaml.safe_load(f)
print(data)

Generated by generation/pipelines.py. Free for any use, no attribution required — license.