The Intelligent Cache is integrated with our enhanced runners and provides the following:

    • no overhead
    • no keys
    • no paths
    • pragmatic security

    See our blog for background on our journey to Intelligent Cache.

    Flow 

    Ideally files flow between jobs in a pipeline. The flow of files avoids performing the same task in multiple jobs to improve efficiency and reliability.

    Consider a common workflow for an application deployed as a container.

    • An incremental build compiles only the changes since the last run.
    • The tests and container build can utilize the same build result.
    • The test coverage reports are passed along for aggregation.
    • The deployment jobs utilize the built container.

    Flow of files between jobs in pipeline

    Without the flow of files the application would need to be built in all three test jobs and the container job. If third-party dependencies are utilized, an initial job would be needed to generate a cache (introducing overhead) or the dependencies would need to be downloaded in each of the 4 jobs.

    The benefit of sharing a build artifact increases with the expense required to produce it and the number of subsequent jobs.

    Concurrency 

    Since the cache overhead is effectively eliminated, jobs, like tests, can be subdivided many times to effectively run as fast as the slowest unit. In other words tests can run as fast as desired with little additional cost.