# GitHub Action for Blackfire Player
name: Play a Blackfire Scenario
on: [push, pull_request]
jobs:
  blackfire-player:
    name: Blackfire (PHP ${{ matrix.php-versions }})
    # 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 }}
    runs-on: ${{ matrix.operating-system }}
    strategy:
      fail-fast: false
      matrix:
        operating-system: [ubuntu-latest, windows-latest, macos-latest]
        php-versions: ['7.4', '8.0', '8.1']
        # blackfire-player supports PHP >= 5.5
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      # Docs: https://github.com/shivammathur/setup-php
      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: ${{ matrix.php-versions }}
          extensions: blackfire
          # Setup Blackfire CLI and player
          tools: blackfire, blackfire-player
          coverage: none

      # Refer to https://blackfire.io/docs/player/index#usage
      - name: Play the scenario
        run: blackfire-player run scenario.bkf