Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Define an output that acts as a Knative eventing source #587

Closed
afrittoli opened this issue Mar 6, 2019 · 4 comments
Closed

Define an output that acts as a Knative eventing source #587

afrittoli opened this issue Mar 6, 2019 · 4 comments
Labels
design This task is about creating and discussing a design help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. meaty-juicy-coding-work This task is mostly about implementation!!! And docs and tests of course but that's a given

Comments

@afrittoli
Copy link
Member

A CI/CD pipeline may include tasks that should be executed asynchronously from the main pipeline, for instance post processing of test results or logs, notifications and more; so things that should not affect the duration / reliability of the pipeline and can be executed "eventually" once the pipeline is complete.

This could be achieved by exploiting knative eventing. We could define a pipelineresource to be exclusively used as taskrun / pipelinerun output, that can store generic medatada about the *run and that can act an eventing source for a configured sink.

Examples of metadata are the location of the produced artifacts (a container image, logs, machine readable test results), the name of the task / pipeline, details about the triggering event (the git branch , github PR, release number, etc).

@bobcatfish
Copy link
Collaborator

A CI/CD pipeline may include tasks that should be executed asynchronously from the main pipeline

That's a cool idea @afrittoli !

Would the success/failure and completion of the PipelineRun depend on the completion of this processing as well?

@bobcatfish bobcatfish added help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. design This task is about creating and discussing a design meaty-juicy-coding-work This task is mostly about implementation!!! And docs and tests of course but that's a given labels Mar 7, 2019
@afrittoli
Copy link
Member Author

That's a good question. I can see both behaviours as valid, i.e. submitting the event to the channel successfully might or might not affect the success / fail status of the pipeline.

On one side one might not want the health of the channel to impact critical pipelines; on the other side not reporting a failure in submitting to the channel could live the issue undetected.

@afrittoli
Copy link
Member Author

@afrittoli
Copy link
Member Author

The CloudEventPipelineResource is implemented, so this can be closed now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design This task is about creating and discussing a design help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. meaty-juicy-coding-work This task is mostly about implementation!!! And docs and tests of course but that's a given
Projects
None yet
Development

No branches or pull requests

2 participants