My approach, at least under Docker, is more or less what Michał showed -
use mix deps.get, deps.compile in one step, cache the results, then do
everything else on top of the cached layer. Your situation should be more
or less identical if I'm understanding you correctly, so I believe that is
all you need here.

Paul

On Tue, Dec 19, 2017 at 3:40 PM, Michał Muskała <mic...@muskala.eu> wrote:

> A solution for this could be to do something like:
>
> export MIX_ENV=test
> mix deps.get
> mix deps.compile
> cache_build_artifacts
> mix compile
> mix test
>
> This should make it possible to cache the dependencies separately from
> the application.
>
> 2017-12-19 22:28 GMT+01:00  <l...@expert360.com>:
> > Ah, so to give some context:
> > We have a CI pipeline which pulls the deps, builds the umbrella
> application
> > and then runs our tests.
> >
> > I would like to cache pulling and buildings the deps, and just build the
> > umbrella application. It would save some time off the CI build. We use
> mix
> > to do our compilation, testing and every other command.
> >
> > On Tuesday, December 19, 2017 at 4:00:10 PM UTC+11, Paul Schoenfelder
> wrote:
> >>
> >> Could you clarify what the issue is? You haven't specified under what
> >> circumstances caching is a problem or with what tools.
> >>
> >> Paul
> >>
> >> On Mon, Dec 18, 2017 at 10:53 PM <l...@expert360.com> wrote:
> >>>
> >>> The _build folder contains all build artifacts for external
> dependencies
> >>> and internal application code. This means that caching this folder is a
> >>> pain.
> >>> If I could simply cache the external dependency build artifacts
> >>> separately to the internal application artifacts, this would solve my
> >>> problem. To do this, I think the artifacts should be kept in a seperate
> >>> location such as _build/<env>/deps/...
> >>>
> >>>
> >>>
> >>> Want to get insights, recommendations and answers from top consultants
> >>> for free? Head to Discussions to ask questions and find answers.
> >>>
> >>> ———————————————————————————————————————————————
> >>> This email is intended for the sole use of the intended recipient(s)
> and
> >>> may contain information that is confidential and/or privileged.  Any
> review
> >>> or distribution by any other person is prohibited.  If you are not an
> >>> intended recipient, please immediately contact the sender and delete
> all
> >>> copies of this email message
> >>>
> >>> --
> >>> You received this message because you are subscribed to the Google
> Groups
> >>> "elixir-lang-core" group.
> >>> To unsubscribe from this group and stop receiving emails from it, send
> an
> >>> email to elixir-lang-co...@googlegroups.com.
> >>> To view this discussion on the web visit
> >>> https://groups.google.com/d/msgid/elixir-lang-core/
> ac3428e7-f626-4392-ab3a-9aa32a23face%40googlegroups.com.
> >>> For more options, visit https://groups.google.com/d/optout.
> >
> >
> > Want to get insights, recommendations and answers from top consultants
> for
> > free? Head to Discussions to ask questions and find answers.
> >
> > ———————————————————————————————————————————————
> > This email is intended for the sole use of the intended recipient(s) and
> may
> > contain information that is confidential and/or privileged.  Any review
> or
> > distribution by any other person is prohibited.  If you are not an
> intended
> > recipient, please immediately contact the sender and delete all copies of
> > this email message
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "elixir-lang-core" group.
> > To unsubscribe from this group and stop receiving emails from it, send an
> > email to elixir-lang-core+unsubscr...@googlegroups.com.
> > To view this discussion on the web visit
> > https://groups.google.com/d/msgid/elixir-lang-core/
> 6d6eabdc-ee00-4a0e-8da3-4762358b8683%40googlegroups.com.
> >
> > For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google Groups
> "elixir-lang-core" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to elixir-lang-core+unsubscr...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/elixir-lang-core/CAGAFNpkAbD3cGZNnnkERPeBY8%3DXg6FsuLAny%3D8nxbA%
> 2BiM1ktRQ%40mail.gmail.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elixir-lang-core+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/CAK%3D%2B-Ttra8Fpvc11-9Rzm2wO05Dc_u4-F%2B-oWqZc5XRorMEk1A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to