如何使用GitHub Actions工作流设置PHP版本?

11

我已经使用 GitHub Actions 工作流一段时间了:

name: Laravel

on: [push]

jobs:
  laravel-tests:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v1
    - name: Copy .env
      run: php -r "file_exists('.env') || copy('.env.example', '.env');"
    - name: Install Dependencies
      run: |
        rm -rf vendor
        composer install
    - name: Generate key
      run: php artisan key:generate
    - name: Link Storage
      run: php artisan storage:link
    - name: Create Database
      run: |
        mkdir -p database
        touch database/database.sqlite
    - name: Execute tests (Unit and Feature tests) via PHPUnit
      env:
        DB_CONNECTION: sqlite
        DB_DATABASE: database/database.sqlite
      run: vendor/bin/phpunit --stop-on-failure

在 8.0 推出之前都能工作,但之后使用 composer 就会报错,提示这个那个包不兼容 8.0 版本,即使这些包我经常更新。

总之,现在我需要设置为使用 7.4 版本。

我理解:

with:
  php-version: '7.4'

我知道可以使用矩阵,但在这个脚本中我要调用整个“使用此php版本”的地方才能使测试运行在7.4上吗?


关于https://dev59.com/PlMH5IYBdhLWcg3w10B_的相关内容。 - riQQ
1个回答

18
使用setup-php操作。
name: Laravel

on: [push]

jobs:
  laravel-tests:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v1    
    - name: Setup PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: 7.4
    - name: Copy .env
      run: php -r "file_exists('.env') || copy('.env.example', '.env');"
    [...]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接