You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If bin/shakapacker works without Ruby, then Docker Layer Caching (DLC) could fetch JS packages (yarn) and compile without the cache breaking due to Ruby changes. Currently, most will put the Ruby layers before the JS layers so that if the Ruby layers don't change, then the DLC will be used. But if any cache layers break due to Ruby changes, then bin/shakapacker has to run again.
One alternative is to cache the results of rake assets:precompile, as React on Rails Pro does.
Actual behavior:
Running bin/shakapacker requires all Ruby dependencies to be installed and be earlier layers of the DLC.
Setup environment:
N/A
The text was updated successfully, but these errors were encountered:
I'm not sure it makes sense for Shakapacker to not use ruby for bin/shakapacker, because isn't that basically what jsbundling-rails is?
I think there are probably two areas worth looking into for Shakapacker:
multistage builds: more specifically, figuring out what Ruby files are generally needed on average and encouraging those to be copied in a dedicated build, then have the output of that copied out into the main build
caching the results of rake assets:precompile and/or webpack
Desired behavior:
If
bin/shakapacker
works without Ruby, then Docker Layer Caching (DLC) could fetch JS packages (yarn) and compile without the cache breaking due to Ruby changes. Currently, most will put the Ruby layers before the JS layers so that if the Ruby layers don't change, then the DLC will be used. But if any cache layers break due to Ruby changes, then bin/shakapacker has to run again.One alternative is to cache the results of
rake assets:precompile
, as React on Rails Pro does.Actual behavior:
Running bin/shakapacker requires all Ruby dependencies to be installed and be earlier layers of the DLC.
Setup environment:
N/A
The text was updated successfully, but these errors were encountered: