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

Split examples out to a new repo #649

Closed
dlorenc opened this issue Mar 21, 2019 · 11 comments
Closed

Split examples out to a new repo #649

dlorenc opened this issue Mar 21, 2019 · 11 comments
Labels
kind/question Issues or PRs that are questions around the project or a particular feature

Comments

@dlorenc
Copy link
Contributor

dlorenc commented Mar 21, 2019

This is a proposal to move examples to a separate repo. Currently we have examples in this repo, but this might lead to a few issues eventually:

  • We want lots of examples, without bogging down the submit queue for tektoncd/pipeline itself
  • We want some notion of "supported, maintained" tasks/pipelines that can be used directly
  • We want the community to help curate these

Some ideas to think through:

  • How can we test the examples continuously?
  • How can we update them with API changes?
@dlorenc
Copy link
Contributor Author

dlorenc commented Mar 21, 2019

Ref #567
Ref #568
Ref #558
Ref #535
Ref #536
Ref #530

@dlorenc
Copy link
Contributor Author

dlorenc commented Mar 21, 2019

cc @bobcatfish any other concerns to think through here?

@dlorenc
Copy link
Contributor Author

dlorenc commented Mar 21, 2019

Strawman for tests:

Each example pipeline/task must also specify a Pod yaml file in the same directory. We'll have a runner that creates that Pod in the same cluster the example ran in and validates that it worked correctly. Exit code of 0 means pass, anything else is failure.

Our test runner then goes:

  1. kubectl create -f example.yaml
  2. Wait for the resource to complete
  3. Create the test
  4. Wait for the test to complete

@vdemeester
Copy link
Member

@dlorenc I'm very much for a à-la-build-template repository that would hold Task and Pipeline definitions (and some associate run to test them).

On tests, additionally, if we setup some CI on this repository, we would need some daily build with current release and/or current master 💃

On updating them with API changes, it's gonna be a good exercise for us (to hopefully not break them often and later on to have clear upgrade path)

@afrittoli
Copy link
Member

I like the idea of a separate repo.

I think we'll need to have some type of cross-testing: we could run the examples against API changes as part of the pipeline repo CI, so that we can detect if a change breaks any example. To begin with such tests could be informative only; once the APIs are declared as stable they might even be made blocking.

This brings two benefits: keep the examples in a working state, help notice API breaking changes that might be missed by review.

@bobcatfish
Copy link
Collaborator

Now that we've got https://github.com/tektoncd/catalog can we close this @dlorenc ? (or we could leave it open assuming we want to move our examples dir to that repo - but im not sure that's a given 🤔 )

@vdemeester
Copy link
Member

examples are used as tests too in this repository, so maybe we want to rename the folder to make it more clear ?

@bobcatfish
Copy link
Collaborator

examples are used as tests too in this repository, so maybe we want to rename the folder to make it more clear ?

hm interesting idea @vdemeester ! i'm having trouble thinking of any other names - I wouldn't want to move these to test since we do probably want to be able to point ppl at these as extensive examples of how Tasks and Pipelines work in general (unless we don't want users to look at these anymore?) 🤔

Do you have any ideas? 🙆‍♀️

@vdemeester
Copy link
Member

No clear ideas yet. There will be the catalog for a extensive examples of each task but we still need executable examples here (to catch potential regression, etc.). examples is fine for now 👼

@vdemeester
Copy link
Member

@dlorenc @bobcatfish what should we do for this ? We will have more example on the docs for sure, and we have the catalog for the shareable tasks.

/kind question

@tekton-robot tekton-robot added the kind/question Issues or PRs that are questions around the project or a particular feature label Dec 9, 2019
@bobcatfish
Copy link
Collaborator

I feel like we should close this? Maybe open another issue to discuss anything specific that came from this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/question Issues or PRs that are questions around the project or a particular feature
Projects
None yet
Development

No branches or pull requests

5 participants