Skip to content

Bump actions/checkout from 3 to 4 #840

Bump actions/checkout from 3 to 4

Bump actions/checkout from 3 to 4 #840

---
name: dzil build and test
on:
push:
branches:
- "main"
pull_request:
branches:
- "*"
workflow_dispatch:
jobs:
build-job:
name: Build distribution
runs-on: ubuntu-20.04
container:
image: perldocker/perl-tester:5.38
steps:
- uses: actions/checkout@v4
- name: Install ubi
run: curl --silent --location https://raw.githubusercontent.com/houseabsolute/ubi/master/bootstrap/bootstrap-ubi.sh | sh
- name: Install omegasort
run: ubi --project houseabsolute/omegasort --in /usr/local/bin
- name: Install precious
run: ubi --project houseabsolute/precious --in /usr/local/bin
- name: install test-needs deps
run: cpm install -g --cpanfile test-needs-cpanfile
- name: Run Tests
env:
AUTHOR_TESTING: 1
AUTOMATED_TESTING: 1
EXTENDED_TESTING: 1
HARNESS_OPTIONS: j2
RELEASE_TESTING: 1
run: auto-build-and-test-dist
- name: Run precious
run: precious lint --all
- uses: actions/upload-artifact@v3
with:
name: build_dir
path: build_dir
if: ${{ github.actor != 'nektos/act' }}
#integration-job:
#needs: build-job
#runs-on: ubuntu-20.04
#timeout-minutes: 15
#container:
#image: perldocker/perl-tester:5.32
#strategy:
#fail-fast: false
#steps:
#- uses: actions/download-artifact@v3
#with:
#name: build_dir
#path: .
#- name: install test-needs deps
#run: cpm install -g --cpanfile test-needs-cpanfile
#- name: Install deps and test
#run: cpan-install-dist-deps && test-dist
#- uses: actions/checkout@v4
#with:
#repository: mojolicious/mojo
#path: mojo
#fetch-depth: 0
#name: check out Mojo
#- name: Install Mojo
#run: cpm install -g Mojo
#- name: check out a tag
#run: cd mojo && git checkout v8.72
#- name: run Mojo tests
#run: cd mojo && prove -lr t
#env:
#TEST_EV: 1
#TEST_HYPNOTOAD: 1
#TEST_MORBO: 1
#TEST_ONLINE: 1
#TEST_UNIX: 1
#- name: Run perlimports on test suite
#run: cd mojo && find t -type f | grep "\.t\$" | grep -v t/mojolicious/commands.t | xargs -L 1 perl -I../lib ../script/perlimports --libs lib,t/mojo/lib -i --no-padding --ignore-modules Test::More,Mojo::Base -f
#- name: run Mojo tests after tidying tests
#run: cd mojo && prove -lr t
#env:
#TEST_EV: 1
#TEST_HYPNOTOAD: 1
#TEST_MORBO: 1
#TEST_ONLINE: 1
#TEST_UNIX: 1
#- name: Hard reset on Mojo checkout
#run: cd mojo && git reset --hard
#- name: Run perlimports on lib
#run: cd mojo && find lib -type f | grep "\.pm\$" | grep -v lib/Mojo/Base.pm | xargs -n 1 perl -I../lib ../script/perlimports -i --libs lib --no-padding -f
#env:
#TEST_EV: 1
#TEST_HYPNOTOAD: 1
#TEST_MORBO: 1
#TEST_ONLINE: 1
#TEST_UNIX: 1
#- name: run Mojo tests after tidying lib
#run: cd mojo && prove -lr t
#env:
#TEST_EV: 1
#TEST_HYPNOTOAD: 1
#TEST_MORBO: 1
#TEST_ONLINE: 1
#TEST_UNIX: 1
coverage-job:
needs: build-job
runs-on: ubuntu-20.04
container:
image: perldocker/perl-tester:5.38
steps:
- uses: actions/checkout@v4 # codecov wants to be inside a Git repository
- uses: actions/download-artifact@v3
with:
name: build_dir
path: .
- name: install test-needs deps
run: cpm install -g --cpanfile test-needs-cpanfile
continue-on-error: true
- name: Install deps and test
run: cpan-install-dist-deps && test-dist
env:
CODECOV_TOKEN: ${{secrets.CODECOV_TOKEN}}
HARNESS_OPTIONS: j2
HARNESS_PERL_SWITCHES: "-MDevel::Cover=+ignore,^local/|^t/|^xt|^test-data"
- name: Upload coverage reports to Codecov with GitHub Action
uses: codecov/codecov-action@v3
test-job:
needs: build-job
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, macos-latest]
perl-version:
- "5.18"
- "5.20"
- "5.22"
- "5.24"
- "5.26"
- "5.28"
- "5.30"
- "5.32"
- "5.34"
- "5.36"
- "5.38"
name: More deps ${{ matrix.perl-version }} on ${{ matrix.os }}
steps:
- name: Set Up Perl
uses: shogo82148/actions-setup-perl@v1
with:
perl-version: ${{ matrix.perl-version }}
- uses: actions/download-artifact@v3
with:
name: build_dir
path: .
- name: install test-needs deps
run: cpm install -g --cpanfile test-needs-cpanfile
continue-on-error: true
- name: install deps using cpm
uses: perl-actions/install-with-cpm@v1
with:
cpanfile: "cpanfile"
args: "--with-suggests --with-test --with-develop"
- run: prove -lr -j2 t
without-test-needs-job:
needs: build-job
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04]
perl-version:
#- "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.38"
name: Fewer deps ${{ matrix.perl-version }} on ${{ matrix.os }}
steps:
- name: Set Up Perl
uses: shogo82148/actions-setup-perl@v1
with:
perl-version: ${{ matrix.perl-version }}
- uses: actions/download-artifact@v3
with:
name: build_dir
path: .
- name: install deps using cpm
uses: perl-actions/install-with-cpm@v1
with:
cpanfile: "cpanfile"
args: "--with-test"
- run: prove -lr -j2 t