build_aarch64.yml 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. name: Build AArch64
  2. on:
  3. pull_request:
  4. push:
  5. release:
  6. types:
  7. - created
  8. jobs:
  9. # ---------------------------------------
  10. # Build AARCH64 family
  11. # ---------------------------------------
  12. build-arm:
  13. runs-on: ubuntu-latest
  14. strategy:
  15. fail-fast: false
  16. matrix:
  17. family:
  18. # Alphabetical order
  19. - 'broadcom_64bit'
  20. steps:
  21. - name: Setup Python
  22. uses: actions/setup-python@v2
  23. - name: Checkout TinyUSB
  24. uses: actions/checkout@v3
  25. - name: Checkout common submodules in lib
  26. run: git submodule update --init lib/FreeRTOS-Kernel lib/lwip lib/sct_neopixel
  27. - name: Checkout hathach/linkermap
  28. uses: actions/checkout@v3
  29. with:
  30. repository: hathach/linkermap
  31. path: linkermap
  32. - name: Set Toolchain URL
  33. run: echo >> $GITHUB_ENV TOOLCHAIN_URL=https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-2021.07/binrel/gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf.tar.xz
  34. - name: Cache Toolchain
  35. uses: actions/cache@v2
  36. id: cache-toolchain
  37. with:
  38. path: ~/cache/
  39. key: ${{ runner.os }}-21-11-02-${{ env.TOOLCHAIN_URL }}
  40. - name: Install Toolchain
  41. if: steps.cache-toolchain.outputs.cache-hit != 'true'
  42. run: |
  43. mkdir -p ~/cache/toolchain
  44. wget --progress=dot:mega $TOOLCHAIN_URL -O toolchain.tar.gz
  45. tar -C ~/cache/toolchain -xaf toolchain.tar.gz
  46. - name: Set Toolchain Path
  47. run: echo >> $GITHUB_PATH `echo ~/cache/toolchain/*/bin`
  48. - name: Build
  49. run: python3 tools/build_family.py ${{ matrix.family }}
  50. - name: Linker Map
  51. run: |
  52. pip install linkermap/
  53. for ex in `ls -d examples/device/*/`; do \
  54. find ${ex} -name *.map -print -quit | \
  55. xargs -I % sh -c 'echo "::group::%"; linkermap -v %; echo "::endgroup::"'; \
  56. done