Skip to content

Conversation

@DXCanas
Copy link
Member

@DXCanas DXCanas commented Mar 31, 2020

Rethinking how we cache things.

Have run into a few issues with cache being too aggressive, where dependency changes and pyeverywhere/python-for-android changes wouldn't propagate during build time in the pipeline.

Reworking the order of that. Changes for our vendored versions of those are now checked fore before installation so that cache invalidates on update.

android distro caches now happen inside of volumes and are mounted between builds, so those aren't invalidated unless we need different SDK/NDKs. Easy to delete, too: docker volume rm <name of volume>

And I de-prioritized source code reuse, as the source is actually really small. Meaning we can now deploy this image and have it run cache-less if we want, just as docker intended.

DXCanas added 3 commits March 28, 2020 15:24
Added effect of improving Makefile for local dev.
A more traitional build approach. No longer _has_ to bind mount, etc.
Using docker ADD to invalidate pip install cache,
will update if downloaded zips have changed.
Also setting up volumes to persist android downloads between builds.
@DXCanas DXCanas requested a review from kollivier March 31, 2020 02:15
@kollivier
Copy link
Contributor

@DXCanas This looks awesome, thanks! Will give it a spin tomorrow and review! :)

Copy link
Contributor

@kollivier kollivier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@kollivier kollivier merged commit b475d49 into learningequality:develop Mar 31, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants