GitHub action to set up PHP with extensions, php.ini configuration, coverage drivers, and various tools.
Go to file
2019-09-08 09:49:23 +05:30
__tests__ init 2019-09-06 05:17:43 +05:30
.github/workflows Add support for adding PHP extensions 2019-09-07 18:18:47 +05:30
docs Add README and LICENSE 2019-09-06 05:51:19 +05:30
lib Add support for adding PHP extensions 2019-09-07 18:18:47 +05:30
node_modules Add support for adding PHP extensions 2019-09-07 18:18:47 +05:30
src Add support for adding PHP extensions 2019-09-07 18:18:47 +05:30
.gitignore init 2019-09-06 05:17:43 +05:30
.prettierrc.json init 2019-09-06 05:17:43 +05:30
action.yml Add required properties in action inputs 2019-09-07 18:34:56 +05:30
jest.config.js init 2019-09-06 05:17:43 +05:30
LICENSE Add README and LICENSE 2019-09-06 05:51:19 +05:30
package-lock.json Add support for adding PHP extensions 2019-09-07 18:18:47 +05:30
package.json Add support for adding PHP extensions 2019-09-07 18:18:47 +05:30
README.md Fix command in matrix testing snippet 2019-09-08 09:49:23 +05:30
tsconfig.json init 2019-09-06 05:17:43 +05:30

setup-php

GitHub Actions status

This action sets up a php environment along with composer and required PHP extensions on multiple platforms for use in github actions.

PHP Version Support

  • 5.6
  • 7.0
  • 7.1
  • 7.2
  • 7.3

Operating Systems Support

  • Linux (ubuntu-latest)
  • Windows (windows-latest)
  • MacOS (macOS-latest)

PHP Extension Support

  • On linux extensions which have the package in apt are installed.
  • On Windows and MacOS pecl extensions are installed.
  • Extensions which are installed along with PHP if specified are enabled.
  • Extensions which cannot be installed gracefully leave an error message in the logs, the action is not interruped.

Usage

See action.yml

Basic:

steps:
- name: Checkout
  uses: actions/checkout@master
- name: Installing PHP
  uses: shivammathur/setup-php@master
  with:
    php-version: 7.3
    extension-csv: mbstring, xdebug
- name: Check PHP Version
  run: php -v
- name: Check Composer Version
  run: composer -V
- name: Check PHP Extensions
  run: php -m

Matrix Testing:

jobs:
  run:    
    runs-on: ${{ matrix.operating-system }}
    strategy:
      max-parallel: 15
      matrix:
        operating-system: [ubuntu-latest, windows-latest, macOS-latest]
        php-versions: ['5.6', '7.0', '7.1', '7.2', '7.3']
    name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }}
    steps:
    - name: Checkout
      uses: actions/checkout@master
    - name: Install PHP
      uses: shivammathur/setup-php@master
      with:
        php-version: ${{ matrix.php-versions }}
        extension-csv: mbstring, xdebug
    - name: Check PHP Version
      run: php -v
    - name: Check Composer Version
      run: composer -V
    - name: Check PHP Extensions
      run: php -m           

License

The scripts and documentation in this project are released under the MIT License

Contributions

Contributions are welcome! See Contributor's Guide