name: ITCM check permissions: contents: read on: push: branches: - 'main' paths-ignore: - 'docs/**' pull_request: branches: - '**' paths-ignore: - 'docs/**' concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: check_itcm: name: Checking ${{ matrix.target }} runs-on: [runs-on,runner=4cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}",spot=false,extras=s3-cache] container: image: ghcr.io/px4/px4-dev:v1.17.0-rc2 strategy: fail-fast: false matrix: include: - target: px4_fmu-v5x scripts: > boards/px4/fmu-v5x/nuttx-config/scripts/itcm_gen_functions.ld boards/px4/fmu-v5x/nuttx-config/scripts/itcm_static_functions.ld - target: px4_fmu-v6xrt scripts: > boards/px4/fmu-v6xrt/nuttx-config/scripts/itcm_functions_includes.ld boards/px4/fmu-v6xrt/nuttx-config/scripts/itcm_static_functions.ld - target: nxp_tropic-community scripts: > boards/nxp/tropic-community/nuttx-config/scripts/itcm_functions_includes.ld boards/nxp/tropic-community/nuttx-config/scripts/itcm_static_functions.ld - target: nxp_mr-tropic scripts: > boards/nxp/mr-tropic/nuttx-config/scripts/itcm_functions_includes.ld boards/nxp/mr-tropic/nuttx-config/scripts/itcm_static_functions.ld steps: - uses: runs-on/action@v2 - uses: actions/checkout@v6 with: fetch-depth: 1 - name: Configure Git Safe Directory run: git config --system --add safe.directory '*' - uses: ./.github/actions/setup-ccache id: ccache with: cache-key-prefix: ccache-itcm-${{ matrix.target }} max-size: 200M - name: Build Target run: make ${{ matrix.target }} - name: Copy built ELF run: cp ./build/**/*.elf ./built.elf - name: Install itcm-check dependencies run: pip3 install -r Tools/setup/optional-requirements.txt --break-system-packages - name: Execute the itcm-check run: python3 Tools/itcm_check.py --elf-file built.elf --script-files ${{ matrix.scripts }} - uses: ./.github/actions/save-ccache if: always() with: cache-primary-key: ${{ steps.ccache.outputs.cache-primary-key }}