CITHUBアクションにおけるCPANログのアーカイブ


ますます多くの人々が使用を始めたようにGitHub Actions CPANモジュールをテストするには、基本的な設定ファイルのかなり標準バージョンが出ています.このように見えます.
name: CI

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]
  workflow_dispatch:

jobs:
  build:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: ['ubuntu-latest', 'macos-latest', 'windows-
latest']
        perl: [ 'latest' ]
    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 }}
      - name: Perl version
        run: perl -V
      - name: Install modules
        run: cpanm --installdeps .
      - name: Run tests
        run: prove -lv t
私は、私のCPANモジュールを含むGithub Reposのすべてに、これに類似した何かをゆっくり加えていました.そして、それは大部分はかなりよく働きます.私がアイロンをかけている問題がいくつかあります.
その一つは、必要なCPANモジュールのいくつかがきれいにインストールされていない問題です.しかし、私は私がこの問題を解決するのを手伝っているツールを見つけたと思います.
あなたは、私が使用するのを見るでしょうcpanm テストを実行するために必要なモジュールをインストールします.And cpanm ログファイルからエラーメッセージを得ることができます.残念ながら、これはGithubアクションのようなCI環境でうまく動作しません.走り書きのログで見るのはこんな感じです.
Building and testing Inline-C-0.81 ... FAIL
! Installing Inline::C failed. See /home/runner/.cpanm/work/1609767557.4781/build.log for details. 
Retry with --force to force install it.
! Installing the dependencies failed: Module 'Inline::C' is not installed
あれbuild.log ファイルは、我々が見る必要があるものです.しかし、それはあなたのテストを実行するために使用されているコンテナ上にあり、そのエラーを見ている時には、コンテナはあなたのビルドログを使用してエーテルに消えてしまった.
しかし、我々はそれが取り除かれるのを止めることができます.Githubアクションには「アーティファクト」という機能があり、ジョブ実行時に作成された項目を後で詳細に調べることができます.我々はビルドログをアーカイブすることができます.
私は私のgithubアクション設定ファイルにこのステップを追加しました.
- name: Archive CPAN logs
  if: ${{ failure() }}
  uses: actions/upload-artifact@v2
  with:
    name: cpan_log
    path: .cpanm/work/*/build.log
これは私のプロセスに別のステップを追加します.別のステップが何らかの形で失敗した場合にのみ実行されます.それは標準のアクションを使用しますactions/upload-artifact@v2 ビルドログをアーカイブするには今、私のテストで何かがうまくいかないときには、ジョブページにはcpanm 私は私の余暇で問題を解決するために調べることができますビルドログ.
今、私はちょうど私が私の上で見ることができるいくつかの問題を修正し始めることができるように、これを私の既存のCIワークフローの全てに加える必要がありますCPAN Dashboard .