mocleiri / tensorflow-micropython-examples

A custom micropython firmware integrating tensorflow lite for microcontrollers and ulab to implement the tensorflow micro examples.
MIT License
179 stars 86 forks source link

Setup CI to build the project #17

Closed mocleiri closed 3 years ago

mocleiri commented 3 years ago

To start with we need to build for esp32:

  1. use espressif/idf public docker container for building
  2. build tensorflow
  3. build micropython esp32 port with microlite, audio-frontend and ulab modules.

For testing we also need to build for the unix port:

  1. Develop custom docker image for building for the unix port.
  2. build tensorflow
  3. build micropython unix port with microlite, audio-frontend and ulab modules.

Need to figure out how to run unit tests as part of the builds and also target the boards locally. Should be able to copy the micropython approach here.

mocleiri commented 3 years ago

the build is working for esp32 tensorflow but not quite working for esp32 micropython. I want to only rebuild tensorflow when there is a change and the rest of the time get it from cache.

https://github.com/actions/cache

I'm not quite sure how to structure the jobs to get what I want so I may consolidate them into a single job to keep them simpler.

mocleiri commented 3 years ago

CI is now working. There is probably a way to skip the actual build of libtensorflow-microlite.a to only occur if there is a tensorflow change but at the moment both parts always build.

I was able to verify that downloading the microlite-spiram-16m firmware that I was able to flash it.