-
Epic
-
Resolution: Done
-
Critical
-
None
-
None
-
R&D Cache dependencies
-
False
-
None
-
False
-
To Do
-
0% To Do, 0% In Progress, 100% Done
-
-
-
8
To be completed: R&D Cache dependencies
Epic Goal
- Explore what can we do to provide ways for users to cache dependencies
Why is this important?
- This usually come up a lot from users
- To be useful, a CI system (build on top of tekton) need to be able to handle caching in some way
Acceptance Criteria (Mandatory)
- A document listing exploration and results
Dependencies (internal and external)
- tektoncd/pipeline
- possibly the ecosystem or the upstream catalog
Previous Work (Optional):
- https://docs.google.com/document/d/1kTuKrvs2_nU0V5HVTLYBhHkFdHX4TYgzO6JMU_WxyNQ/edit#heading=h.d1ons3ha4k8t
- https://docs.openshift-pipelines.org/docs/latest/pipeline/cache-in-tekton.html
- https://docs.google.com/document/d/1_nUHZrA95Bwbr4SzIld1SCCHl2ttxRPk_DFOBhVkZEE/edit
Open questions::
What is doable today, what can we enhance
Could be with wrap pipeline
What can be done today ?
Today, tasks need to do this one their own, for example like [https://github.com/openshift-pipelines/pipelines-as-code/blob/main/.tekton/pull-request.yaml#L88[on pipelines-as-code]].
What can we do ?
We could explore using resolver to augment automatically and smartly some steps to enable
cache for those.
We also need to explore how it works for GitHub : https://github.com/actions/cache.
GitHub has that notion of post "steps", which means you need to use one action only once
and it will do something before and after.
This cannot be the case in Pipeline, so we need to have two tasks or "steps".
Some exploration steps are:
- Per steps or Per tasks ?
- Using PVC ? Using s3-like ?
+ It depends on if it's per step or per task ?
+ How configurable could this be ? - Auth ?
What "could" it look like in the API ?
- Does it make sense to have it in the API ?
- If yes, how would it look ?
Notes
Document along the way ! Probably on vincent.demeester.fr initially.
+ Resolvers
- If a "cache" workspace exists (and is optional), use it
+ TaskGroup
+ Built-in
Done Checklist
- Acceptance criteria are met
- Non-functional properties of the Feature have been validated (such as performance, resource, UX, security or privacy aspects)
- User Journey automation is delivered
- Support and SRE teams are provided with enough skills to support the feature in production environment
- relates to
-
SRVKP-3744 A cache management image to be used as a Step
- In Progress