| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- # 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
- with:
- working-directory: main
- - name: "Run PHPBench"
- run: php main/vendor/bin/phpbench run --progress=plain --report=bare --output=csv
- - name: "Parse benchmark results"
- run: php main/benchmark/parse-result.php
- - name: "Generate HTML report"
- run: php main/benchmark/generate-html.php
- - name: "Generate Markdown report"
- run: php main/benchmark/generate-markdown.php
- - name: "Publish results to branch benchmark"
- uses: JamesIves/github-pages-deploy-action@v4
- with:
- branch: benchmark
- folder: main/.build/phpbench
- clean: true
|