name: FLASH usage analysis on: push: branches: - 'main' pull_request: branches: - '*' jobs: analyze_flash: name: Analyzing ${{ matrix.target }} runs-on: [runs-on,runner=8cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}",spot=false] container: image: px4io/px4-dev-nuttx-focal strategy: matrix: target: [px4_fmu-v5x, px4_fmu-v6x] outputs: px4_fmu-v5x: ${{ steps.gen-output.outputs.output_px4_fmu-v5x }} px4_fmu-v6x: ${{ steps.gen-output.outputs.output_px4_fmu-v6x }} steps: - uses: actions/checkout@v4 with: fetch-depth: 0 submodules: recursive - name: Git ownership workaround run: git config --system --add safe.directory '*' - name: Build Target run: make ${{ matrix.target }} - name: Store the ELF with the change run: cp ./build/${{ matrix.target }}_default/${{ matrix.target }}_default.elf ./with-change.elf - name: Clean previous build run: | make clean make distclean - name: If it's a PR checkout the base commit if: ${{ github.event.pull_request }} run: git checkout ${{ github.event.pull_request.base.sha }} - name: If it's a push checkout the previous commit if: github.event_name == 'push' run: git checkout ${{ github.event.before }} - name: Update submodules run: make submodulesupdate - name: Build run: make ${{ matrix.target }} - name: Store the ELF before the change run: cp ./build/${{ matrix.target }}_default/${{ matrix.target }}_default.elf ./before-change.elf - name: bloaty-action uses: carlosperate/bloaty-action@v1.1.0 id: bloaty-step with: bloaty-args: -d sections,compileunits -n 0 ./with-change.elf -- ./before-change.elf output-to-summary: true - name: Generate output id: gen-output run: | EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64) echo "output_${{ matrix.target }}<<$EOF" >> $GITHUB_OUTPUT echo "${{ steps.bloaty-step.outputs.bloaty-output-encoded }}" >> $GITHUB_OUTPUT echo "$EOF" >> $GITHUB_OUTPUT post_pr_comment: name: Publish Results runs-on: [runs-on,runner=1cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}",spot=false] needs: [analyze_flash] if: ${{ github.event.pull_request }} steps: - name: Find Comment uses: peter-evans/find-comment@v3 id: fc with: issue-number: ${{ github.event.pull_request.number }} comment-author: 'github-actions[bot]' body-includes: FLASH Analysis - name: Set Build Time id: bt run: | echo "timestamp=$(date +'%Y-%m-%dT%H:%M:%S')" >> $GITHUB_OUTPUT - name: Create or update comment uses: peter-evans/create-or-update-comment@v4 with: comment-id: ${{ steps.fc.outputs.comment-id }} issue-number: ${{ github.event.pull_request.number }} body: | ## FLASH Analysis
px4_fmu-v5x ``` ${{ needs.analyze_flash.outputs.px4_fmu-v5x }} ```
px4_fmu-v6x ``` ${{ needs.analyze_flash.outputs.px4_fmu-v6x }} ```
**Updated: _${{ steps.bt.outputs.timestamp }}_** edit-mode: replace