Skip to content

[FEATURE] Conditional step #1577

Open
Open
@cmoulliard

Description

@cmoulliard

Is there an existing feature request for this?

  • I have searched the existing feature requests

Is your feature request related to a problem or use-case? Please describe.

As a user, I would like that a step is executed according to a matching condition or not

Such a use case exists typically when we do a buildpacks build as since the release 0.10 of the platform spec it is possible to execute the step "extension" (see step description: https://github.com/buildpacks/spec/blob/main/buildpack.md#phase-4-extension-image-extensions-only) or the step "build".

Using Tekton, such condition can be declared as such:

// https://github.com/redhat-buildpacks/catalog/blob/main/tekton/pipeline/buildpacks/01/buildpacks.yaml#L72-L76

    - name: buildpacks
      when:
        - input: $(tasks.buildpacks-extension-check.results.extensionLabels)
          operator: in
          values: ["empty"]
      taskRef:
        name: buildpacks-phases
        
 or

    - name: buildpacks-extension
      when:
        - input: $(tasks.buildpacks-extension-check.results.extensionLabels)
          operator: notin
          values: ["empty"]
      taskRef:
        name: buildpacks-extension-phases       

Describe the solution that you would like.

The (cluster)buildstrategy should include a when statement where user can declare the condition to be matched to execute or not the step

Describe alternatives you have considered.

No response

Anything else?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions