使用 github action 在多個環境中快速地測試你的開源專案

tu6ge-php發表於2020-12-19

我們知道在做開源專案的時候,應該寫測試用例,用來保障程式碼可用性,也為使用者帶來一些保障;我們也知道,在 github 上提交程式碼的時候,可以使用 github action 自動執行我們的測試用例。隨著使用者的增多,我們專案的使用者可能有 php 7.3 ,7.4 的開發環境,使用的框架也有不同,比如 laravel 的 6.x ,7.x,8.x 等,我們如果每次修改程式碼,都在本地安裝這麼多環境,來保障程式碼在這些環境中的質量,是很難做到的,幸運的是,github action 可以幫我們做這個事情,現在向大家介紹一下 laravel-form-item 的 action 配置檔案部分程式碼:

jobs:
  test:
    # 選擇執行 action 的作業系統
    runs-on: ubuntu-latest

    strategy:
      # 策略組中,如果有一個失敗了,則快速停止繼續執行
      fail-fast: true
      matrix:
        php: [7.3, 7.4, 8.0]
        laravel: ['7.*', '8.*']
    # 以上策略設定,可以讓程式碼執行在 php 的三個版本和 laravel 兩個版本中的六種組合中
    # 宣告每個策略的名稱
    name: 'PHP ${{ matrix.php }} / laravel ${{ matrix.laravel }}'

    steps:
      - uses: actions/checkout@master

       # ...

      # 配置php,用變數名指定版本號
      - name: Select PHP version
        uses: shivammathur/setup-php@master
        with:
          php-version: '${{ matrix.php }}'
          extensions: mbstring, pdo_sqlite, fileinfo, gd, xdebug
          coverage: xdebug

      # 配置 laravel 的版本,用變數名指定版本號
      - name: Install Composer dependencies
        run: composer require "laravel/framework:${{ matrix.laravel }}"

完整的配置,可以檢視 github 。 在這個配置中,我設定了當提交程式碼或者他人提交 PR 的時候,都會自動執行這些測試用例

本作品採用《CC 協議》,轉載必須註明作者和本文連結
大多數知識,不需要我們記住,只需要認知即可

相關文章