-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
None
-
False
-
-
False
-
-
Description
Upstream Issue: https://github.com/tektoncd/pipeline/issues/8862
When using the local resolver, parameter substitution doesn't work correctly for default values that reference other parameters. The literal string (e.g., $(params.fallback-param)) is used instead of the substituted value.
Expected Behavior
Using default value inherited from another param should work with local resolver, just like it does with remote resolvers:
apiVersion: tekton.dev/v1 kind: Pipeline metadata: name: pipeline-with-default-value-from-param spec: params: - name: fallback-param type: string default: "fallback value" - name: param type: string default: $(params.fallback-param) # Should resolve to "fallback value"
Actual Behavior
With local resolver, the value is the literal string $(params.fallback-param) instead of the resolved value.
This works correctly with remote resolvers but not with local resolver.
Impact
- Inconsistent behavior between local and remote resolvers
- Limits ability to use fallback patterns in Pipelines/Tasks
- Breaks existing patterns when switching from remote to local resolution
Use Case
Need to use default values inherited from another param as a fallback (overridable by PipelineRun). This pattern is common for providing sensible defaults while allowing override.
Environment
- Affects: Local Resolver
- Works correctly with: Remote Resolvers