pine64 / bl_iot_sdk

BL602 SDK (Pine64 fork)
https://pine64.github.io/bl602-docs/
Apache License 2.0
134 stars 58 forks source link

Github Action for building SDK #68

Closed ftk closed 3 years ago

ftk commented 3 years ago

Currently just runs make in customer_app directory on Ubuntu and macos. On Windows it also sets up MSYS. Currently fails on Ubuntu 18.04 because of some Python dependency issue.

Also optionally added an option to limit number of parallel make jobs (MSYS build crashes if left unlimited)

gamelaster commented 3 years ago

Hi, thank you very much for this, it looks great! Which python dependency is missing? We had some pull requests about them, and probably some of them are not merged yet.

enjoycodefun commented 3 years ago

You also limit the number of cpus for private builds - not just for "github actions", which I assume are automatized builds?

Is it possible to change 2 to $(nproc)?

ftk commented 3 years ago

Hi, thank you very much for this, it looks great! Which python dependency is missing? We had some pull requests about them, and probably some of them are not merged yet.

Generating BIN File to /home/runner/work/bl_iot_sdk/bl_iot_sdk/customer_app/bl602_boot2/build_out/bl602_boot2.bin
Collecting fdt>=0.2.0 (from -r requirements.txt (line 2))
  Downloading https://files.pythonhosted.org/packages/d6/d3/a9bf8bc20ddace74371afcf07b430f559d109372e1c2a25c133fe5fd4656/fdt-0.2.0-py3-none-any.whl
Collecting pycryptodomex>=3.9.8 (from -r requirements.txt (line 3))
  Downloading https://files.pythonhosted.org/packages/ff/29/1541b26a2b679bafb124138c5f009ed7821d9d329536b79a313a9a1aa684/pycryptodomex-3.9.9-cp36-cp36m-manylinux1_x86_64.whl (13.7MB)
Collecting toml>=0.10.2 (from -r requirements.txt (line 4))
  Downloading https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl
Collecting configobj>=5.0.6 (from -r requirements.txt (line 5))
  Downloading https://files.pythonhosted.org/packages/64/61/079eb60459c44929e684fa7d9e2fdca403f67d64dd9dbac27296be2e0fab/configobj-5.0.6.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
    ModuleNotFoundError: No module named 'setuptools'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-hz0djxzj/configobj/
Traceback (most recent call last):
  File "flash_build.py", line 6, in <module>
    import fdt
ModuleNotFoundError: No module named 'fdt'
/home/runner/work/bl_iot_sdk/bl_iot_sdk/make_scripts_riscv/project.mk:190: recipe for target 'all' failed
make: Leaving directory '/home/runner/work/bl_iot_sdk/bl_iot_sdk/customer_app/bl602_boot2'
make: *** [all] Error 1

It works in Ubuntu 20.04, so it might be a GH issue.

You also limit the number of cpus for private builds - not just for "github actions", which I assume are automatized builds?

Is it possible to change 2 to $(nproc)?

If $MAX_MAKE_JOBS env. variable is not set, the behavior is not changed (unlimited due to -j being without parameter)

gamelaster commented 3 years ago

Thank you very much for your pull request! For receiving the free PineCone, please sign up at this link. (If there will be any issues with signing up, please let me know here).