build_esp.yml 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. name: Build ESP
  2. on:
  3. push:
  4. paths:
  5. - 'src/**'
  6. - 'examples/**'
  7. - 'lib/**'
  8. - 'hw/**'
  9. pull_request:
  10. branches: [ master ]
  11. paths:
  12. - 'src/**'
  13. - 'examples/**'
  14. - 'lib/**'
  15. - 'hw/**'
  16. concurrency:
  17. group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
  18. cancel-in-progress: true
  19. jobs:
  20. build-esp:
  21. runs-on: ubuntu-latest
  22. strategy:
  23. fail-fast: false
  24. matrix:
  25. board:
  26. # Alphabetical order
  27. # ESP32-S2
  28. - 'espressif_saola_1'
  29. # ESP32-S3
  30. #- 'espressif_s3_devkitm'
  31. # S3 compile error with "dangerous relocation: call8: call target out of range: memcpy"
  32. steps:
  33. - name: Setup Python
  34. uses: actions/setup-python@v4
  35. with:
  36. python-version: '3.x'
  37. - name: Pull ESP-IDF docker
  38. run: docker pull espressif/idf:latest
  39. - name: Checkout TinyUSB
  40. uses: actions/checkout@v3
  41. - name: Checkout hathach/linkermap
  42. uses: actions/checkout@v3
  43. with:
  44. repository: hathach/linkermap
  45. path: linkermap
  46. - name: Build
  47. run: docker run --rm -v $PWD:/project -w /project espressif/idf:latest python3 tools/build_esp32sx.py ${{ matrix.board }}
  48. - name: Linker Map
  49. run: |
  50. pip install linkermap/
  51. # find -quit to only print linkermap of 1 board per example
  52. for ex in `ls -d examples/device/*/`
  53. do
  54. find ${ex} -maxdepth 3 -name *.map -print -quit | xargs -I % sh -c 'echo "::group::%"; linkermap -v %; echo "::endgroup::"'
  55. done