Skip to content

Releases: shivammathur/setup-php

1.4.5

29 Oct 01:42
cb5e07b
Compare
Choose a tag to compare
  • Fix custom extension scripts to not clone in working directory.
  • Use files from this action instead of copying.
  • Use tool-cache directory to store script for the action.
  • Fix race condition in linux.sh to get correct php.ini
  • Update node-version to 12.x for testing.
  • Update action branding.
  • Update PHP 7.4 versions in README.md
  • Add support for PHP 7.4 for phalcon4

1.4.4

24 Oct 23:44
16267e1
Compare
Choose a tag to compare
  • Improve PHP installation on windows.
  • ext-curl is now enabled by default on windows after installation.
  • Switch to apt-fast on ubuntu.
  • Fix logs on windows-2016.
  • Update workflows as default shell on windows is now powershell.
  • Run windows script using pwsh instead of powershell. This is a breaking-change. Please switch to 1.4.4 if you are running this GitHub Action on windows and using an older version.

1.4.3

17 Oct 17:01
ffc5b02
Compare
Choose a tag to compare
  • Improve logs.
  • Shift from Write-Host to printf on windows for logging.
  • Shift from echo to printf on macOS and ubuntu for logging.
  • Fix tests to cleanup files created.
  • Fix Xdebug and PCOV installation on PHP7.4 on ubuntu.

1.4.2

14 Oct 03:27
62beed2
Compare
Choose a tag to compare
  • Refactor scripts to use function add_extension in shell scripts.
  • Fix phpenmod and phpdismod commands to specify PHP version.
  • Add support for phalcon extension.
  • Add examples for Phalcon and Lumen frameworks.

1.4.1

10 Oct 16:44
3087ceb
Compare
Choose a tag to compare
  • Remove repeated command in linux.sh and run update-alternatives in parallel.
  • Fix enabling extensions on macOS.
  • Tap exolnet/homebrew-deprecated only for PHP 5.6 and 7.0.
  • Use pwsh for test commands in examples for uniformity across platforms.
  • Improve links, examples and disable coverage section in README.md.
  • Change version to node-version in the workflow.

1.4.0

08 Oct 14:32
409e055
Compare
Choose a tag to compare
  • Refactor and improve code.
  • Add examples
  • Remove quotes from strings in usage examples in README.
  • Bump version to 1.4.0

1.3.9

05 Oct 10:17
7e81c05
Compare
Choose a tag to compare

New option to disable coverage drivers
specifying coverage: none will disable Xdebug and PCOV if enabled.

Example

uses: shivammathur/setup-php@master
with:
  php-version: 7.3
  coverage: none

1.3.8

04 Oct 16:41
c0e0d9d
Compare
Choose a tag to compare

Setup PHP in GitHub Actions

Setup PHP in GitHub Actions

GitHub Actions status LICENSE PHP Versions Supported Support me on Patreon Support me on PayPal Contact me on Codementor

Setup PHP with required extensions, php.ini configuration and composer in GitHub Actions. This action can be added as a step in your action workflow and it will setup the PHP environment you need to test your application. Refer to Usage section to see how to use this.

🎉 PHP Support

PHP Version Stability Release Support
5.6 Stable End of life
7.0 Stable End of life
7.1 Stable Security fixes only
7.2 Stable Active
7.3 Stable Active
7.4 Beta/RC Active

Note: PHP 7.4 is currently in development, do not use in production/release branches.

☁️ OS/Platform Support

Virtual environment matrix.operating-system
Windows Server 2019 windows-latest or windows-2019
Windows Server 2016 R2 windows-2016
Ubuntu 18.04 ubuntu-latest or ubuntu-18.04
Ubuntu 16.04 ubuntu-16.04
macOS X Mojave 10.14 macOS-latest or macOS-10.14

🔧 PHP Extension Support

  • On ubuntu 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 interrupted.

📶 Coverage support

uses: shivammathur/setup-php@master
with:
  php-version: 7.3  
  coverage: xdebug
  • Specify coverage: pcov to use PCOV. PCOV is way faster than Xdebug
    • For pcov.directory to be other than src, lib or, app, specify it using the ini-values-csv input.
    • PCOV needs PHPUnit >= 8.0 and PHP >= 7.1, PHPUnit needs PHP >= 7.2. So use PHP >= 7.2 with PCOV
uses: shivammathur/setup-php@master
with:
  php-version: 7.3
  ini-values-csv: 'pcov.directory=api' #optional, see above for usage.
  coverage: pcov

📝 Usage

Inputs supported by this GitHub Action.

  • php-version required
  • extension-csv optional
  • ini-values-csv optional
  • coverage optional

See action.yml for more info

Basic Usage

steps:
- name: Checkout
  uses: actions/checkout@master
- name: Installing PHP
  uses: shivammathur/setup-php@master
  with:
    php-version: 7.3
    extension-csv: mbstring, xdebug #optional
    ini-values-csv: "post_max_size=256M, short_open_tag=On" #optional
    coverage: xdebug #optional
- 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 #optional
        ini-values-csv: "post_max_size=256M, short_open_tag=On" #optional
        coverage: xdebug #optional
    - name: Check PHP Version
      run: php -v
    - name: Check Composer Version
      run: composer -V
    - name: Check PHP Extensions
      run: php -m           

Examples

Examples for setting up this GitHub Action with different PHP Frameworks/Packages.

Note: Make sure you add steps to run your tests after the setup steps given in these examples.

📜 License

The scripts and documentation in this project are released under the MIT License. This project has multiple dependencies and their licenses can be found in their respective repositories.

👍 Contributions

Contributions are welcome! See Contributor's Guide.

💖 Support this project

  • Please star the project and share it among your developer friends.
  • Consider supporting on Support me on Patreon and Support me on Paypal.

🔖 This action uses the following works

📑 Further Reading

1.3.7

03 Oct 15:43
06929bd
Compare
Choose a tag to compare

Setup PHP in GitHub Actions

Setup PHP in GitHub Actions

GitHub Actions status LICENSE PHP Versions Supported Support me on Patreon Support me on Paypal Get Help on codementor

Setup PHP with required extensions, php.ini configuration and composer in GitHub Actions. This action can be added as a step in your action workflow and it will setup the PHP environment you need to test your application. Refer to Usage section to see how to use this.

🎉 PHP Support

PHP Version Stability Release Support
5.6 Stable End of life
7.0 Stable End of life
7.1 Stable Security fixes only
7.2 Stable Active
7.3 Stable Active
7.4 Beta/RC Active

Note: PHP 7.4 is currently in development, do not use in production/release branches.

☁️ OS/Platform Support

Virtual environment matrix.operating-system
Windows Server 2019 windows-latest or windows-2019
Windows Server 2016 R2 windows-2016
Ubuntu 18.04 ubuntu-latest or ubuntu-18.04
Ubuntu 16.04 ubuntu-16.04
macOS X Mojave 10.14 macOS-latest or macOS-10.14

🔧 PHP Extension Support

  • On ubuntu 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.

📶 Coverage support

uses: shivammathur/setup-php@master
with:
  php-version: 7.3  
  coverage: xdebug
  • Specify coverage: pcov to use PCOV. PCOV is way faster than Xdebug
    • For pcov.directory to be other than src, lib or, app, specify it using the ini-values-csv input.
    • PCOV needs PHPUnit >= 8.0 and PHP >= 7.1, PHPUnit needs PHP >= 7.2. So use PHP >= 7.2 with PCOV
uses: shivammathur/setup-php@master
with:
  php-version: 7.3
  ini-values-csv: 'pcov.directory=api' #optional, see above for usage.
  coverage: pcov

📝 Usage

Inputs supported by this GitHub Action.

  • php-version
  • extension-csv (optional)
  • ini-values-csv (optional)
  • coverage (optional)

See action.yml for more info

Basic Usage

steps:
- name: Checkout
  uses: actions/checkout@master
- name: Installing PHP
  uses: shivammathur/setup-php@master
  with:
    php-version: 7.3
    extension-csv: mbstring, xdebug #optional
    ini-values-csv: "post_max_size=256M, short_open_tag=On" #optional
    coverage: xdebug #optional
- 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 #optional
        ini-values-csv: "post_max_size=256M, short_open_tag=On" #optional
        coverage: xdebug #optional
    - name: Check PHP Version
      run: php -v
    - name: Check Composer Version
      run: composer -V
    - name: Check PHP Extensions
      run: php -m           

Examples

📜 License

The scripts and documentation in this project are released under the MIT License. This project has multiple dependencies and their licenses can be found in their respective repositories.

👍 Contributions

Contributions are welcome! See Contributor's Guide.

💖 Support this project

  • Please star the project and share it among your developer friends.
  • Consider supporting on Support me on Patreon and Support me on Paypal.

🔖 This action uses the following works

📑 Further Reading

1.3.6

29 Sep 20:40
Compare
Choose a tag to compare

Setup PHP in GitHub Actions

Setup PHP in GitHub Actions

GitHub Actions status LICENSE PHP Versions Supported Support me on Patreon Support me on Paypal Get Help on codementor

Setup PHP with required extensions, php.ini configuration and composer in GitHub Actions. This action can be added as a step in your action workflow and it will setup the PHP environment you need to test your application. Refer to Usage section to see how to use this.

🎉 PHP Support

PHP Version Stability Release Support
5.6 Stable End of life
7.0 Stable End of life
7.1 Stable Security fixes only
7.2 Stable Active
7.3 Stable Active
7.4 Beta/RC Active

Note: PHP 7.4 is currently in development, do not use in production/release branches.

☁️ OS/Platform Support

Virtual environment matrix.operating-system
Windows Server 2019 windows-latest or windows-2019
Windows Server 2016 R2 windows-2016
Ubuntu 18.04 ubuntu-latest or ubuntu-18.04
Ubuntu 16.04 ubuntu-16.04
macOS X Mojave 10.14 macOS-latest or macOS-10.14

🔧 PHP Extension Support

  • On ubuntu 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.

📶 Coverage support

uses: shivammathur/setup-php@master
with:
  php-version: 7.3  
  coverage: xdebug
  • Specify coverage: pcov to use PCOV. PCOV is way faster than Xdebug
    • For pcov.directory to be other than src, lib or, app, specify it using the ini-values-csv input.
    • PCOV needs PHPUnit >= 8.0 and PHP >= 7.1, PHPUnit needs PHP >= 7.2. So use PHP >= 7.2 with PCOV
uses: shivammathur/setup-php@master
with:
  php-version: 7.3
  ini-values-csv: 'pcov.directory=api' #optional, see above for usage.
  coverage: pcov

📝 Usage

Inputs supported by this GitHub Action.

  • php-version
  • extension-csv (optional)
  • ini-values-csv (optional)
  • coverage (optional)

See action.yml for more info

Basic Usage

steps:
- name: Checkout
  uses: actions/checkout@master
- name: Installing PHP
  uses: shivammathur/setup-php@master
  with:
    php-version: 7.3
    extension-csv: mbstring, xdebug #optional
    ini-values-csv: "post_max_size=256M, short_open_tag=On" #optional
    coverage: xdebug #optional
- 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 #optional
        ini-values-csv: "post_max_size=256M, short_open_tag=On" #optional
        coverage: xdebug #optional
    - 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. This project has multiple dependencies and their licenses can be found in their respective repositories.

👍 Contributions

Contributions are welcome! See Contributor's Guide.

💖 Support this project

  • Please star the project and share it among your developer friends.
  • Consider supporting on Support me on Patreon and Support me on Paypal.

🔖 This action uses the following works

📑 Further Reading