FrameOS / frameos

Operating system for single function smart frames
https://frameos.net/
Apache License 2.0
321 stars 8 forks source link

Faster python driver incremental builds #57

Closed mariusandra closed 5 months ago

mariusandra commented 5 months ago

It took over a minute to re-install the python inky drivers' requirements.

After this PR we install "vendor drivers" in a shared /srv/frameos/vendor/inkyPython style folders, instead of per-release folders like now. This allows us to easily cache dependencies between steps if nothing changes. Symlinking python venvs wasn't a better option.

As a result, the second install of the inky python drivers now takes less than a second. It used to always add a minute to the deployment time. The python hyperpixel brightness controls are now equally fast to update.

I did some other cleanup in the PR as well.

A full (incremental) redeploy, from SSH connection established to connection closed, including on device compilation and linking, for a Raspberry Pi Zero W2 and an Inky impressions frame now takes 71 seconds... or 60 seconds exactly without the restart in the end.