marmoset-test-cases/.gitea/workflows/benchmark.yaml

36 lines
1.4 KiB
YAML

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=$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-$(echo "scale=2; $BENCHMARK_THROUGHPUT / 1024" | bc)%20kB/s-blue" \
-H 'accept: application/json' \
-H 'X-API-Key: ${{ secrets.BADGE_API_KEY }}'