idpass / idpass-lite

A library to create and interact with secure and biometrically-binding QR code identity cards
https://www.idpass.org/
Apache License 2.0
28 stars 5 forks source link

Improve cloning speed #11

Closed typelogic closed 3 years ago

typelogic commented 3 years ago

Current Behaviour

Cloning takes time due to huge size of dependencies folder holding the prebuilt files that was generated during the cross-compile phase for Android.

Expected Behaviour

A git clone should not take too long.

Steps to Reproduce the Problem

  1. git clone https://github.com/idpass/idpass-lite

Context

Cloning the idpass-lite repo from the command line

typelogic commented 3 years ago

Current findings is that the cloning speed can be significantly improved by the reduction of the size in the dependencies/build/ folder from 700MB to 0MB by performing the needed platform cross-compilation locally. However, the disadvantage is that the CircleCI build time will now take longer as it will also rebuild the dependencies (libsodium, dlib, protobuf) from source when building libidpasslite.so during each CI run.

typelogic commented 3 years ago

Instead of completely removing dependencies/build/ folder, retain the dependencies/build/desktop/ folder in order to not affect CircleCI duration.

The size breakdown for each folder is:

typelogic commented 3 years ago

A clear diff of changes here

typelogic commented 3 years ago

Will close this issue, together with https://github.com/idpass/idpass-lite/issues/18

typelogic commented 3 years ago

The improvement of the cloning speed build scripts changes also included the build script changes to cover a MacOS build. In summary, the libidpasslite.dylib dynamic library has been built for the following platforms: