* feat(sdk): Add helper class AddOnGroup
add a helper class for users to write a custom
OpsGroup which maps to a custom task in Tekton.
Signed-off-by: Yihong Wang <yh.wang@ibm.com>
* move finally under pipelineSpec
`finally` shall be under `pipelineSpec`.
Signed-off-by: Yihong Wang <yh.wang@ibm.com>
* Enhance params of AddOnGroup
make `params` argument of AddOnGroup class support
static and dynamic values.
Signed-off-by: Yihong Wang <yh.wang@ibm.com>
* Add post_param() api in AddOnGroup
Add `post_param()` api to update the params of
the task
Signed-off-by: Yihong Wang <yh.wang@ibm.com>
* Handle intermediate params
Create a dedicated API to create intermediate params
which are only used by downstream Ops/OpsGroup, but not
list in the spec.params
Signed-off-by: Yihong Wang <yh.wang@ibm.com>
* fix incorrect param value
properly handle params that are created
from AddOnGroups in downstream Ops
Signed-off-by: Yihong Wang <yh.wang@ibm.com>
* handle nested AddOnGroup case
An AddOnGroup can contains another AddOnGroup
as downstream OpsGroup. The group name of an AddOnGroup
needs to follow the correct name pattern to allow
the compiler to calculate the nested case properly.
Signed-off-by: Yihong Wang <yh.wang@ibm.com>
* clean up params inside the taskSpec.pipelineSpec
only keep params that are used by downstream tasks in
taskSpec.pipelineSpec.params
Signed-off-by: Yihong Wang <yh.wang@ibm.com>
* support annotations and labels
Add properties in AddOnGroup to store annotations
and labels. Then add their key/value pairs to
metadata.annotation and metadata.labels.
Signed-off-by: Yihong Wang <yh.wang@ibm.com>
* rename the annotation property to annotations
amend the property name to plural
Signed-off-by: Yihong Wang <yh.wang@ibm.com>