Skip to content

Library Benchmarks

Library Benchmarks #69

name: Library Benchmarks
on:
# Manual trigger
workflow_dispatch:
# Daily at 2am UTC
schedule:
- cron: '0 2 * * *'
jobs:
benchmark:
name: Run Library Comparison Benchmarks
runs-on: ubuntu-latest
timeout-minutes: 120
steps:
- name: Check out repository
uses: actions/checkout@v5
- name: Set up JDK
uses: actions/setup-java@v5
with:
java-version: '25'
distribution: 'temurin'
cache: maven
- name: Build benchmarks JAR
run: mvn -B clean package -DskipTests
- name: Install dependencies for report generation
run: sudo apt-get update && sudo apt-get install -y gnuplot jq
- name: Run library comparison benchmarks (smoketest mode)
run: ./run-libs.sh smoketest
timeout-minutes: 60
- name: Generate library comparison report
run: ./report-libs.sh
- name: Install wrangler
run: npm install -g wrangler
- name: Publish results to Cloudflare Pages
run: ./publish-results.sh
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}