name: Membrowse Memory Report on: pull_request: push: branches: - master concurrency: group: ${{ github.workflow }}-${{ github.event_name == 'push' && github.sha || github.ref }} cancel-in-progress: ${{ github.event_name == 'pull_request' }} jobs: load-targets: runs-on: ubuntu-24.04 timeout-minutes: 10 outputs: matrix: ${{ steps.set-matrix.outputs.matrix }} steps: - name: Checkout repository uses: actions/checkout@v5 - name: Load target matrix id: set-matrix run: echo "matrix=$(jq -c '.' .github/membrowse-targets.json)" >> $GITHUB_OUTPUT analyze: needs: load-targets runs-on: ubuntu-24.04 timeout-minutes: 10 strategy: fail-fast: false matrix: include: ${{ fromJson(needs.load-targets.outputs.matrix) }} steps: - name: Checkout repository uses: actions/checkout@v5 with: fetch-depth: 0 submodules: recursive - name: Install packages uses: ./.github/actions/install-apt-deps with: packages: ${{ matrix.apt_packages }} - name: Build firmware run: ${{ matrix.build_cmd }} - name: Run Membrowse PR Action id: analyze uses: membrowse/membrowse-action@v1 with: target_name: ${{ matrix.target_name }} elf: ${{ matrix.elf }} ld: ${{ matrix.ld }} linker_vars: ${{ matrix.linker_vars }} api_key: ${{ secrets.MEMBROWSE_API_KEY }} api_url: ${{ vars.MEMBROWSE_API_URL }} verbose: INFO