用 GitHub Action 進行 CPAN 模組測試
作者:gugod 發佈於: #perl #cpan #ci #github這幾年來一直使用 Travis CI 提供的免費服務來執行自己的 CPAN 模組測試。設定方式很簡單而且執行容易,十分感謝 Travis CI, GmbH 提供這項免費服務出來。接下來他們要逐漸轉向收費模式,依照價格表看來,基本費用是每個月 69 美金。以其執行速度來說對於小企業來說算是很划算的價碼,在此祝他們生意興隆。
這幾年有不少 CI 服務新出,各自有對開源專案提供免費額度。如果使用 GitHub 存放源碼,現在也能直接使用 GitHub Action,實在是很容易。
最近加了一些 GitHub Action 到 perlbrew 源碼中。利用了 Setup Perl environment,能在 ubuntu, macos, windows 上進行測試。
Workflow 設定檔內容與範例相去不遠,列出如下:
name: CI
on: pull_request
jobs:
yath:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: ['ubuntu-18.04', 'ubuntu-16.04']
perl: [ '5.32', '5.30' ]
name: Perl ${{ matrix.perl }} on ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Set up perl
uses: shogo82148/actions-setup-perl@v1
with:
perl-version: ${{ matrix.perl }}
- run: perl -V
- run: cpanm --quite --notest --installdeps .
- run: cpanm --quite --notest App::Yath
- run: yath test --qvf t/
不過,如果不需要在多個作業系統上測試,也可利用 docker hub 上的 perl container image。
name: CI
on: pull_request
jobs:
yath:
container:
image: perl:5.32
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: perl -V
- run: cpanm --quite --notest --installdeps .
- run: cpanm --quite --notest App::Yath
- run: yath test --qvf t/
docker hub 上的 perl container image 的更新還算迅速而且頻繁,而且幾乎所有 perl 版本都有提供。拿來跑測試十分適合。