name: Report Peak Memory on: push: branches: - master pull_request: jobs: build-nargo: runs-on: ubuntu-latest strategy: matrix: target: [x86_64-unknown-linux-gnu] steps: - name: Checkout Noir repo uses: actions/checkout@v4 - name: Setup toolchain uses: dtolnay/rust-toolchain@1.74.1 - uses: Swatinem/rust-cache@v2 with: key: ${{ matrix.target }} cache-on-failure: true save-if: ${{ github.event_name != 'merge_group' }} - name: Build Nargo run: cargo build --package nargo_cli --release - name: Package artifacts run: | mkdir dist cp ./target/release/nargo ./dist/nargo - name: Upload artifact uses: actions/upload-artifact@v4 with: name: nargo path: ./dist/* retention-days: 3 generate_memory_report: needs: [build-nargo] runs-on: ubuntu-latest permissions: pull-requests: write steps: - uses: actions/checkout@v4 - name: Download nargo binary uses: actions/download-artifact@v4 with: name: nargo path: ./nargo - name: Set nargo on PATH run: | nargo_binary="${{ github.workspace }}/nargo/nargo" chmod +x $nargo_binary echo "$(dirname $nargo_binary)" >> $GITHUB_PATH export PATH="$PATH:$(dirname $nargo_binary)" nargo -V - name: Generate Memory report working-directory: ./test_programs run: | chmod +x memory_report.sh ./memory_report.sh mv memory_report.json ../memory_report.json - name: Parse memory report id: memory_report uses: noir-lang/noir-bench-report@ccb0d806a91d3bd86dba0ba3d580a814eed5673c with: report: memory_report.json header: | # Memory Report memory_report: true - name: Add memory report to sticky comment if: github.event_name == 'pull_request' || github.event_name == 'pull_request_target' uses: marocchino/sticky-pull-request-comment@v2 with: header: memory message: ${{ steps.memory_report.outputs.markdown }}