name: Check code size on: push: pull_request: paths: - '.github/workflows/*.yml' - 'tools/**' - 'py/**' - 'extmod/**' - 'shared/**' - 'lib/**' - 'ports/bare-arm/**' - 'ports/mimxrt/**' - 'ports/minimal/**' - 'ports/rp2/**' - 'ports/samd/**' - 'ports/stm32/**' - 'ports/unix/**' concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: build: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v4 with: fetch-depth: 100 - name: Install packages run: source tools/ci.sh && ci_code_size_setup - name: Build run: source tools/ci.sh && ci_code_size_build - name: Compute code size difference run: tools/metrics.py diff ~/size0 ~/size1 | tee diff - name: Save PR number if: github.event_name == 'pull_request' env: PR_NUMBER: ${{ github.event.number }} run: echo $PR_NUMBER > pr_number - name: Upload diff if: github.event_name == 'pull_request' uses: actions/upload-artifact@v4 with: name: code-size-report path: | diff pr_number retention-days: 1