Skip to content

Version 6.0. #20415

Version 6.0.

Version 6.0. #20415

Workflow file for this run

name: Coverage
on: [push, pull_request]
jobs:
test:
name: Run coverage tests
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
part: [ 1, 2, 3, 4 ]
env:
PERL5LIB: local-coverage/lib/perl5
HARNESS_PERL_SWITCHES: "-MDevel::Cover=+ignore,local/lib/perl5,commonlib,perllib/Catalyst/[^A],perllib/Email,Test.pm,^t"
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: niden/actions-memcached@v7
- name: Setup cache (carton)
uses: actions/cache@v3
with:
path: local
key: ubuntu-22-carton-${{ hashFiles('cpanfile.snapshot') }}
- name: Setup cache (coverage)
uses: actions/cache@v3
with:
path: local-coverage
key: ubuntu-22-coverage
- name: Install packages
run: |
sudo apt update
sudo apt install -y gettext language-pack-en language-pack-de language-pack-sv-base=1:22.04+20220415 language-pack-sv=1:22.04+20220415 libimage-magick-perl
vendor/bin/carton install --deployment
commonlib/bin/gettext-makemo FixMyStreet
bin/cpanm --quiet --notest -l local-coverage Devel::Cover JSON::MaybeXS
- name: Run tests (with coverage, part 1)
if: matrix.part == 1
run: script/test --jobs 3 $(find t/app/controller -name "[a-qs-u]*.t")
- name: Run tests (with coverage, part 2)
if: matrix.part == 2
run: script/test --jobs 3 $(find t/app/controller -name "[rv-z]*.t")
- name: Run tests (with coverage, part 3)
if: matrix.part == 3
run: script/test --jobs 3 $(find t/cobrand -name "*.t")
- name: Run tests (with coverage, part 4)
if: matrix.part == 4
run: script/test --jobs 3 $(find t -name "*.t" ! -path "t/app/controller*" ! -path "t/cobrand*")
- name: Generate coverage report
if: success()
run: local-coverage/bin/cover --report codecov
env:
PERL5LIB: 'perllib:local-coverage/lib/perl5'
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
- name: Upload coverage to Codecov
if: success()
continue-on-error: true
uses: Wandalen/wretry.action@master
with:
action: codecov/codecov-action@v3
with: |
files: ./coverage.json
fail_ci_if_error: true
attempt_limit: 5
attempt_delay: 10000
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}