refactor: Simplify the sorting in the requirement builder #210
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Benchmark Tests | |
on: | |
pull_request: ~ | |
# See https://stackoverflow.com/a/72408109 | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
env: | |
TERM: xterm | |
jobs: | |
main-bench-test: | |
runs-on: ubuntu-latest | |
name: Benchmark main branch | |
steps: | |
- name: Checkout main branch | |
uses: actions/checkout@v4 | |
with: | |
ref: main | |
fetch-depth: 0 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: '8.2' | |
ini-values: phar.readonly=0, opcache.enable_cli=1 | |
extensions: iconv, mbstring, opcache, :xdebug | |
tools: composer | |
coverage: none | |
- name: Install Composer dependencies | |
uses: ramsey/composer-install@v3 | |
- name: Ensure that the make target is up to date | |
run: make _vendor_install | |
- name: Install PHPBench Composer dependencies | |
uses: ./.github/actions/install-bench | |
- name: Run PHPBench | |
run: make phpbench_main | |
- uses: actions/upload-artifact@v4 | |
name: Upload the Benchmark results | |
with: | |
name: bench-main-result | |
path: dist/bench-branch-main-result.xml | |
pr-bench-test: | |
runs-on: ubuntu-latest | |
name: Benchmark PR | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: '8.2' | |
ini-values: phar.readonly=0, opcache.enable_cli=1 | |
extensions: opcache, :xdebug | |
tools: composer | |
coverage: none | |
- name: Install Composer dependencies | |
uses: ramsey/composer-install@v3 | |
- name: Ensure that the make target is up to date | |
run: make _vendor_install | |
- name: Install PHPBench Composer dependencies | |
uses: ./.github/actions/install-bench | |
- name: Run PHPBench | |
run: make phpbench | |
# TODO: to enable back once figured out how to make it work. For some reasons no file report is created so | |
# no comparison is possible. | |
# pr-main-bench-test: | |
# runs-on: ubuntu-latest | |
# name: Benchmark PR compared to main | |
# needs: main-bench-test | |
# steps: | |
# - name: Checkout | |
# uses: actions/checkout@v4 | |
# with: | |
# fetch-depth: 0 | |
# | |
# - name: Setup PHP | |
# uses: shivammathur/setup-php@v2 | |
# with: | |
# php-version: '8.2' | |
# ini-values: phar.readonly=0, display_errors=On, error_reporting=-1 | |
# tools: composer | |
# coverage: none | |
# | |
# - name: Install Composer dependencies | |
# uses: ramsey/composer-install@v3 | |
# | |
# - name: Ensure that the make target is up to date | |
# run: make _vendor_install | |
# | |
# - name: Install PHPBench | |
# uses: ramsey/composer-install@v3 | |
# with: | |
# working-directory: vendor-bin/phpbench | |
# | |
# - name: Ensure that the PHPBench make target is up to date | |
# run: make phpbench_install | |
# | |
# - name: Download the Benchmark results of the main branch | |
# uses: actions/download-artifact@v3 | |
# with: | |
# name: bench-branch-main-result | |
# | |
# - name: Run PHPBench for PR branch | |
# run: make phpbench_pr | |
# This is a "trick", a meta task which does not change, and we can use in | |
# the protected branch rules as opposed to the tests one above which | |
# may change regularly. | |
validate-tests: | |
name: Benchmark tests status | |
runs-on: ubuntu-latest | |
needs: | |
- main-bench-test | |
- pr-bench-test | |
# - pr-main-bench-test | |
if: always() | |
steps: | |
- name: Successful run | |
if: ${{ !(contains(needs.*.result, 'failure')) }} | |
run: exit 0 | |
- name: Failing run | |
if: ${{ contains(needs.*.result, 'failure') }} | |
run: exit 1 |