Skip to content

Workflow file for this run

# we're running the benchmarks in a job separate from CI as it may take some time to finish
on:
push:
branches:
- benchmark-runner
name: "Benchmark"
env:
PHP_EXTENSIONS: fileinfo, gd, imagick, json, mbstring
PHP_INI_VALUES: memory_limit=-1, error_reporting=-1, display_errors=On
jobs:
benchmark:
name: "Run Benchmark suite"
runs-on: ubuntu-latest
steps:
- name: "Checkout sources"
uses: actions/checkout@v4
with:
ref: main
- name: "Install PHP"
uses: shivammathur/setup-php@v2
with:
php-version: "8.3"
extensions: opcache, ${{ env.PHP_EXTENSIONS }}
ini-values: ${{ env.PHP_INI_VALUES }}
coverage: none
- name: "Install dependencies with composer"
uses: ramsey/composer-install@v3
- name: "Run PHPBench"
run: php vendor/bin/phpbench run --progress=plain --report=bare --output=csv
- name: "Parse benchmark results"
run: php benchmark/parse-result.php
- name: "Generate HTML report"
run: php benchmark/generate-html.php
- name: "Generate Markdown report"
run: php benchmark/generate-markdown.php
- name: "Publish results to branch benchmark"
uses: JamesIves/github-pages-deploy-action@v4
with:
branch: benchmark
folder: .build/phpbench
clean: true