name: Build ARM on: workflow_dispatch: push: paths: - 'src/**' - 'examples/**' - 'lib/**' - 'hw/**' - '.github/workflows/build_arm.yml' pull_request: branches: [ master ] paths: - 'src/**' - 'examples/**' - 'lib/**' - 'hw/**' - '.github/workflows/build_arm.yml' concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: # --------------------------------------- # Build ARM family # --------------------------------------- build-arm: runs-on: ubuntu-latest strategy: fail-fast: false matrix: family: # Alphabetical order - 'broadcom_32bit' - 'kinetis_k32l2' - 'lpc11 lpc13 lpc15 lpc17' - 'lpc51' - 'mm32 msp432e4' - 'samd11 same5x saml2x' - 'stm32f2 stm32f3' - 'stm32l0 stm32wb' - 'tm4c123 xmc4000' steps: - name: Setup Python uses: actions/setup-python@v4 with: python-version: '3.x' - name: Install ARM GCC uses: carlosperate/arm-none-eabi-gcc-action@v1 with: release: '11.2-2022.02' - name: Checkout TinyUSB uses: actions/checkout@v3 - name: Checkout hathach/linkermap uses: actions/checkout@v3 with: repository: hathach/linkermap path: linkermap - name: Get Dependencies run: python3 tools/get_deps.py ${{ matrix.family }} - name: Build run: python3 tools/build_family.py ${{ matrix.family }} - name: Linker Map run: | pip install linkermap/ # find -quit to only print linkermap of 1 board per example for ex in `ls -d examples/*/*/` do find ${ex} -name *.map -print -quit | xargs -I % sh -c 'echo "::group::%"; linkermap -v %; echo "::endgroup::"' done