How to test with different versions of PHP in a GitHub Action

痞子三分冷 提交于 2021-02-18 21:12:58

问题


I have some PHP code with tests which run using PHPUnit and wanted to test it on GitHub Actions. I could not find a method in their documentation for testing PHP packages. I want to test using different versions of PHP, but they only have the latest one 7.3 installed.


回答1:


You can add this setup-php action in your workflow. If not present, it installs the PHP version(s) you specify with required extensions and various tools like composer. It supports all the virtual environments supported by GitHub Actions and PHP versions >= 5.3.

For example you can have a workflow like this

jobs:
  run:    
    runs-on: ${{ matrix.operating-system }}
    strategy:
      matrix:
        operating-system: [ubuntu-latest, windows-latest, macOS-latest]
        php-versions: ['7.2', '7.3']
    name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }}
    steps:
    - name: Checkout
      uses: actions/checkout@v2
    - name: Install PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: ${{ matrix.php-versions }}
        extensions: intl #optional
        ini-values: "post_max_size=256M" #optional
    - name: Check PHP Version
      run: php -v

Note: This will setup PHP, you need to add steps to install your dependencies using composer and another step to run your tests using PHPUnit

You can specify the required extensions in the extensions and the php.ini configuration you want in ini-values. Both these inputs are optional and take a CSV as an input. The php-version input is required. In above example it will run the workflow and setup the PHP environment with the versions specified in matrix.php-versions i.e 7.2 and 7.3, you can adjust these as per your requirements.



来源:https://stackoverflow.com/questions/57965588/how-to-test-with-different-versions-of-php-in-a-github-action

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!