| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- # 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.4"
- 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
|