NobbZ

NobbZ

Gitlab CI rebuilds umbrella, despite build in previous job

We are curretnly trying to reduce the amount of compute units used by our CI.

Thats why I split out mix deps.get && mix compile into a job that produces artifacts, which then can get used in the follow up jobs to save up some compute time.

This seems to work well in theory, and as we have 5 jobs based on the build output, we expect roughly 3 equivalents of mix compile to be saved.

Sadly, it appears that in the subsequent jobs, the project itself is still built each time.

So far, the effect of extracting the build into a previous step is therefore barely better than caching.

To comparision see this, where the 2 apps in the umbrella are built anew:

While the previous step does properly build it here as well:

The downloaded artifacts have all the BEAM modules and application manfests as I would expect them.

Has anyone an idea how to get this working, without doing the repeated compilation of the projects application again and again?

This repeated builds of the project members seems to be one of the most costly factors in the CI.

#ci

Most Liked

D4no0

D4no0

I’ve noticed this too happening in my CI pipelines. I have the feeling that this is related to the rebar3. In my logs I could see recompilation of libraries that were not part of mix.

In a few OSS projects, I saw that some folk was caching .mix (in your case /root/.mix/) folder too, have you tried doing that?

Where Next?

Popular in Questions Top

lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New
JDanielMartinez
Hi! May someone helps me, please! I have two apps into an umbrella project: the first one is Database, which manages queries, and the se...
New
dotdotdotPaul
Okay, I'm having a heck of a time trying to figure out how to best handle the validation of belongs_to associations in Ecto. I'm sure I'...
New
LegitStack
I’m hoping you guys can give me some general advice and perhaps code examples if you’re feeling up to it. I’m very interested in Elixir,...
New
jerry
Good day to you all. I have been struggling to get a query involving like and ilike to work. Can anyone assist me on this, please? pro...
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
pgiesin
This should be a simple problem but I just can’t seem to figure it out. I have a standalone Elixir app that won’t find the database. Dep...
New
gonzofish
I’m currently trying to understand how to join three tables using Ecto. All the examples I’ve seen use 2, so maybe I’m just missing somet...
New
hpopp
To simplify some tasks at work, I wrote and published this package yesterday. It’s a simple macro that enables Access behaviour on struct...
New
Codball
Mix format works fine if run from the cmd. I’ve followed this to facilitate the implementation into VSC which involves downloading an ext...
New

Other popular topics Top

belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New
josevalim
Hi everyone, One of the features added to Elixir early on to help integration with Erlang code was the idea of overridable function defi...
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 record...
New
axelson
This post is a wiki (feel free to hit the edit button near the bottom right of this post to add your own changes!) This post collects co...
239 45766 226
New
hariharasudhan94
I would like to know what is the best IDE for elixir development?
New
lk-geimfari
What is most correct way to open, read and parse JSON file with poison? For example if we have example.json file in root of some projec...
New
fayddelight
I tried installing elixir 1.11.2 erlang 23.3.4 via asdf in my zsh shell. Enabled the versions locally and globally. When I list them ...
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
New
Nvim
Elixir appears to be a superior language to Python. I don’t see any advantage of Python over Elixir. Are there any?
New

We're in Beta

About us Mission Statement