Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

Prepare PHP in GitHub Actions

This action provides the following functionality for GitHub Actions users:

  • Set up PHP with a specific version
  • Set up tools like cs2pr, wp-cli, etc
  • Set up coverage driver
  • Load caching Composer dependencies
  • Run composer install --prefer-dist --no-interaction
  • Log the version information of php and composer

Usage

See action.yml

Basic:

jobs:
  UnitTests:
    name: Unit tests
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v6

      - name: Prepare PHP
        uses: woocommerce/grow/prepare-php@actions-v3

      - name: Run unit tests
        run: vendor/bin/phpunit

Specify the PHP version:

steps:
  - name: Checkout repository
  - uses: actions/checkout@v6

  - name: Prepare PHP
    uses: woocommerce/grow/prepare-php@actions-v3
    with:
      php-version: 8.1

Set up with tools

steps:
  - name: Checkout repository
    uses: actions/checkout@v6

  - name: Prepare PHP
    uses: woocommerce/grow/prepare-php@actions-v3
    with:
      tools: cs2pr

  - name: Coding standards
    run: vendor/bin/phpcs ./* -q --report=checkstyle | cs2pr

To use Composer v1, set this parameter with composer:v1

Full list of support tools

Set up coverage driver

steps:
  - name: Checkout repository
    uses: actions/checkout@v6

  - name: Prepare PHP
    uses: woocommerce/grow/prepare-php@actions-v3
    with:
      coverage: xdebug

The coverage is "none" by default to disable both Xdebug and PCOV.

Supported coverage drivers

Skip the composer install

steps:
  - name: Checkout repository
    uses: actions/checkout@v6

  - name: Prepare PHP
    uses: woocommerce/grow/prepare-php@actions-v3
    with:
      install-deps: "no"

  - name: My task
    run: composer update --prefer-dist --no-interaction