name: Benchmarks on: [push, pull_request] jobs: Run-Benchmarks: runs-on: ubuntu-22.04 env: DEBIAN_FRONTEND: noninteractive steps: - name: Install dependencies run: | apt-get update -y apt-get install -y time bc - name: Check out repository code uses: actions/checkout@v3 - run: cd ${{ github.workspace }} - name: Run benchmark run: | cd benchmark/ bash benchmark.sh python3 ../../run-tests.py - name: Run baseline benchmark run: | cd benchmark/ bash benchmark.sh python3 ../run-tests-benchmark-baseline.py - name: Run throughput benchmark run: | cd benchmark/ BENCHMARK_THROUGHPUT=$(bash benchmark-throughput.sh python3 ../../run-tests.py) echo "$BENCHMARK_THROUGHPUT" >> $GITHUB_ENV echo "$BENCHMARK_THROUGHPUT" - name: Update benchmark badge if: needs.pr-check.outputs.number != 'null' && github.ref == 'refs/heads/main' && success() run: | curl -f -X 'GET' \ "https://badgeapi.docker.162536.xyz/set_badge/?repo=marmoset-test-cases&branch=main&action=throughput&new_badge=Throughput-$(bc <<< scale=2; $BENCHMARK_THROUGHPUT / 1024) kB/s-blue" \ -H 'accept: application/json' \ -H 'X-API-Key: ${{ secrets.BADGE_API_KEY }}'