diff --git a/.github/workflows/linux.yaml b/.github/workflows/linux.yaml index 9f0ebb8..e0db99e 100644 --- a/.github/workflows/linux.yaml +++ b/.github/workflows/linux.yaml @@ -1,36 +1,77 @@ -# This is a basic workflow to help you get started with Actions +name: linux -name: CI - -# Controls when the workflow will run on: - # Triggers the workflow on push or pull request events but only for the "master" branch push: - branches: [ "master" ] + branches: [ '*' ] pull_request: - branches: [ "master" ] - - # Allows you to run this workflow manually from the Actions tab + branches: [ master ] workflow_dispatch: + branches: [ '*' ] -# A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: - # This workflow contains a single job called "build" - build: - # The type of runner that the job will run on + + perl: + runs-on: ubuntu-latest + strategy: + matrix: + perl-version: + - '5.10' + - '5.12' + - '5.14' + - '5.16' + - '5.18' + - '5.20' + - '5.22' + - '5.24' + - '5.26' + - '5.28' + - '5.30' + - '5.32' + - '5.34' + - '5.36' + - '5.38' + + container: + image: perl:${{ matrix.perl-version }} + + steps: + - uses: actions/checkout@v3 + - run: env | sort + - run: perl -V + - name: Add testsuite worktree + - name: Install deps + run: > + cpanm --quiet --notest + Encode + Test::Deep + Test::More + Test::YAML + - name: Run Tests + run: prove -lv test/ + + + cover: runs-on: ubuntu-latest + container: + image: perl:5.38 - # Steps represent a sequence of tasks that will be executed as part of the job steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v3 + - uses: actions/checkout@v3 + - run: env | sort + - run: perl -V - # Runs a single command using the runners shell - - name: Run a one-line script - run: echo Hello, world! + - name: Install deps + run: > + cpanm --quiet --notest --skip-satisfied + Devel::Cover::Report::Coveralls + Encode + Test::Deep + Test::More + Test::YAML - # Runs a set of commands using the runners shell - - name: Run a multi-line script + - name: Run Tests + run: > + PERL5OPT=-MDevel::Cover=-coverage,statement,branch,condition,path,subroutine run: | - echo Add other actions to build, - echo test, and deploy your project. + prove -lv test/ + cover -report coveralls