build icon indicating copy to clipboard operation
build copied to clipboard

[FEATURE] Conditional step

Open cmoulliard opened this issue 10 months ago • 1 comments

Is there an existing feature request for this?

  • [X] 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

cmoulliard avatar Apr 15 '24 07:04 cmoulliard