Uploaded image for project: 'OpenShift Pipelines'
  1. OpenShift Pipelines
  2. SRVKP-2923

R&D Cache dependencies

XMLWordPrintable

    • 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)

      1. tektoncd/pipeline
      2. possibly the ecosystem or the upstream catalog

      Previous Work (Optional):

      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

              vdemeest Vincent Demeester
              vdemeest Vincent Demeester
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: