Files
setup-php/examples/blackfire.yml

50 lines
1.8 KiB
YAML
Raw Normal View History

2020-02-28 15:42:17 +05:30
# GitHub Action for Blackfire
2020-02-27 10:57:09 +01:00
name: Profiling with blackfire
on: [push, pull_request]
jobs:
2020-02-28 15:42:17 +05:30
blackfire:
2020-02-27 10:57:09 +01:00
name: Blackfire (PHP ${{ matrix.php-versions }})
2020-02-28 15:42:17 +05:30
# Add your Blackfire credentials securely using GitHub Secrets
env:
BLACKFIRE_SERVER_ID: ${{ secrets.BLACKFIRE_SERVER_ID }}
BLACKFIRE_SERVER_TOKEN: ${{ secrets.BLACKFIRE_SERVER_TOKEN }}
BLACKFIRE_CLIENT_ID: ${{ secrets.BLACKFIRE_CLIENT_ID }}
BLACKFIRE_CLIENT_TOKEN: ${{ secrets.BLACKFIRE_CLIENT_TOKEN }}
2020-02-27 10:57:09 +01:00
runs-on: ${{ matrix.operating-system }}
strategy:
fail-fast: false
matrix:
operating-system: [ubuntu-latest, windows-latest, macos-latest]
2026-03-21 21:47:58 +05:30
php-versions: ['8.3', '8.4', '8.5']
# Blackfire supports the current PHP releases on Ubuntu, macOS, and Windows.
2020-02-27 10:57:09 +01:00
steps:
- name: Checkout
2025-11-26 07:43:52 +05:30
uses: actions/checkout@v6
2021-12-15 16:49:10 +05:30
# Docs: https://github.com/shivammathur/setup-php
- name: Setup PHP
uses: shivammathur/setup-php@v2
2020-02-27 10:57:09 +01:00
with:
php-version: ${{ matrix.php-versions }}
2026-03-21 21:47:58 +05:30
# Setup Blackfire extension and CLI.
extensions: blackfire, :xdebug
2021-12-15 16:49:10 +05:30
tools: blackfire
# Disable Xdebug and PCOV coverage drivers
2020-02-28 15:42:17 +05:30
coverage: none
2021-12-15 16:49:10 +05:30
# Refer to https://blackfire.io/docs/cookbooks/profiling-cli
2020-02-27 10:57:09 +01:00
- name: Profile
2026-03-21 21:47:58 +05:30
shell: bash
run: |
set +e
output=$(blackfire run php my-script.php 2>&1)
exit_code=$?
printf '%s\n' "$output"
if [ "$exit_code" -ne 0 ]; then
if printf '%s' "$output" | grep -q "upgrade your subscription"; then
echo "Blackfire profiling reached the repository quota limit; treating this as a known non-fatal condition."
exit 0
fi
exit "$exit_code"
fi