Repository navigation
Fix: Fenrir F-10621 #8230
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Membrowse Memory Report | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened, ready_for_review] | |
| push: | |
| branches: [master] | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event_name == 'push' && github.sha || github.ref }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| permissions: | |
| contents: read | |
| jobs: | |
| load-targets: | |
| # Only run from the wolfssl org to avoid burning forks' CI minutes | |
| # and reporting fork builds to the membrowse backend. | |
| if: github.repository_owner == 'wolfssl' && (github.event_name != 'pull_request' || github.event.pull_request.draft == false) | |
| 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 | |
| check-changes: | |
| if: github.repository_owner == 'wolfssl' && (github.event_name != 'pull_request' || github.event.pull_request.draft == false) | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 5 | |
| outputs: | |
| needs_build: ${{ steps.filter.outputs.code == 'true' || github.event_name == 'workflow_dispatch' }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v5 | |
| - name: Detect binary-affecting changes | |
| id: filter | |
| if: github.event_name == 'pull_request' || github.event_name == 'push' | |
| uses: dorny/paths-filter@v4 | |
| with: | |
| predicate-quantifier: every | |
| filters: | | |
| code: | |
| - '!**.md' | |
| - '!**/README*' | |
| - '!doc/**' | |
| - '!AUTHORS' | |
| - '!COPYING*' | |
| - '!LICENSE*' | |
| - '!LICENSING' | |
| - '!INSTALL' | |
| - '!ChangeLog*' | |
| - '!SCRIPTS-LIST' | |
| - '!.gitignore' | |
| - '!.editorconfig' | |
| - '!.codespellexcludelines' | |
| - '!.cyignore' | |
| - '!.wolfssl_known_macro_extras' | |
| - '!.github/ISSUE_TEMPLATE/**' | |
| - '!.github/PULL_REQUEST_TEMPLATE.md' | |
| analyze: | |
| needs: [load-targets, check-changes] | |
| if: github.repository_owner == 'wolfssl' && (github.event_name != 'pull_request' || needs.check-changes.outputs.needs_build == 'true') | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: ${{ fromJson(needs.load-targets.outputs.matrix || '[]') }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 2 | |
| submodules: ${{ needs.check-changes.outputs.needs_build == 'true' && 'recursive' || 'false' }} | |
| - name: Install packages | |
| if: needs.check-changes.outputs.needs_build == 'true' | |
| uses: ./.github/actions/install-apt-deps | |
| with: | |
| packages: ${{ matrix.apt_packages }} | |
| ghcr-debs-tag: ${{ matrix.ghcr_tag }} | |
| - name: Build firmware | |
| if: needs.check-changes.outputs.needs_build == 'true' | |
| run: ${{ matrix.build_cmd }} | |
| - name: Run Membrowse PR Action | |
| id: analyze | |
| # Pinned to a full commit SHA so a moved v1 tag cannot break or | |
| # swap the action out from under this job. v1.2.15. | |
| uses: membrowse/membrowse-action@34719bdb04722be5cbe9c1d6df4a1567ae98238d | |
| with: | |
| target_name: ${{ matrix.target_name }} | |
| elf: ${{ needs.check-changes.outputs.needs_build == 'true' && matrix.elf || '' }} | |
| ld: ${{ needs.check-changes.outputs.needs_build == 'true' && matrix.ld || '' }} | |
| map_file: ${{ needs.check-changes.outputs.needs_build == 'true' && matrix.map_file || '' }} | |
| linker_vars: ${{ matrix.linker_vars }} | |
| api_key: ${{ secrets.MEMBROWSE_API_KEY }} | |
| api_url: ${{ vars.MEMBROWSE_API_URL }} | |
| identical: ${{ needs.check-changes.outputs.needs_build != 'true' }} | |
| verbose: INFO |