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.
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)Related files
- yamlArgo CD Application with Sync PolicyAn Argo CD Application with automated sync, prune and self-heal, retry backoff, sync options, and an ignoreDifferences rule that exempts replica counts from drift detection. All Git and cluster endpoints are example.invalid.

- yamlArgo CronWorkflow ScheduleAn Argo CronWorkflow wrapping an inline workflowSpec: a cron schedule with an explicit timezone, Replace concurrency, history limits, and a suspend flag. Nested-spec shape that flat schedule extractors miss.

- yamlTekton Pipeline with when and finallyA Tekton Pipeline chaining three tasks with runAfter, a when expression that consumes a prior task's result, and a finally task that runs regardless of outcome. The finally block is a common omission in Tekton graph extractors.

- yamlTekton PipelineRun (Run Request)A Tekton PipelineRun as a run request: a pipelineRef, params, timeouts and a workspace binding, with no status block. A completed run's status is a record of what happened and belongs with test-report fixtures, not with pipeline definitions.

- ymlAzure Pipelines Matrix StrategyAzure's named-leg matrix form, where each leg is a mapping of variables rather than an axis product: three Python legs, a maxParallel cap, a job timeout, and a JUnit results publish step that runs on failure too.

- ymlAzure Pipelines Stages and Deployment JobA three-stage Azure Pipelines definition with a build-number format expression, a variable group reference, stage conditions built from the expression functions, and a deployment job using the runOnce strategy against a named environment.

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