Skip to content

Adjust testsuite for perl-versions #66

Adjust testsuite for perl-versions

Adjust testsuite for perl-versions #66

Workflow file for this run

name: testsuite
on:
push:
branches:
- "*"
tags-ignore:
- "*"
pull_request:
jobs:
ubuntu:
env:
PERL_USE_UNSAFE_INC: 0
AUTHOR_TESTING: 1
AUTOMATED_TESTING: 1
RELEASE_TESTING: 1
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: perl -V
- name: install dependencies
uses: perl-actions/install-with-cpm@v1
with:
cpanfile: "cpanfile"
- name: Makefile.PL
run: perl Makefile.PL TT_QUIET=n TT_ACCEPT=y
- run: make test
- name: make install
run: sudo make install
perl-versions:
runs-on: ubuntu-latest
name: List Perl versions
outputs:
perl-versions: ${{ steps.action.outputs.perl-versions }}
steps:
- id: action
uses: perl-actions/perl-versions@v1
with:
since-perl: v5.8
with-devel: true
linux:
name: "Perl ${{ matrix.perl-version }} XS=${{ matrix.XS }}"
needs: [ubuntu,perl-versions]
env:
PERL_USE_UNSAFE_INC: 0
AUTHOR_TESTING: 1
AUTOMATED_TESTING: 1
RELEASE_TESTING: 1
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
XS: [y, n]
perl-version: ${{ fromJson (needs.perl-versions.outputs.perl-versions) }}
container: perldocker/perl-tester:${{ matrix.perl-version }}
steps:
- uses: actions/checkout@v4
- run: perl -V
- name: install dependencies
uses: perl-actions/install-with-cpm@v1
with:
sudo: false
cpanfile: "cpanfile"
- name: Makefile.PL
run: perl Makefile.PL TT_XS_DEFAULT=${{ matrix.XS }} TT_XS_ENABLE=${{ matrix.XS }} TT_QUIET=n TT_ACCEPT=y
- run: make test
- run: make install
plugins:
needs: [ubuntu,linux]
env:
# some plugins still needs this to run their tests...
PERL_USE_UNSAFE_INC: 1
AUTHOR_TESTING: 0
AUTOMATED_TESTING: 0
RELEASE_TESTING: 0
runs-on: ubuntu-latest
name: "${{ matrix.plugin }} XS=${{ matrix.XS }}"
strategy:
fail-fast: false
matrix:
plugin:
- 'Template::Plugin::Autoformat'
- 'Template::Plugin::Cache'
- 'Template::Plugin::Comma'
- 'Template::Plugin::CSV'
- 'Template::Plugin::DateTime'
- 'Template::Plugin::DBI'
- 'Template::Plugin::Dump'
- 'Template::Plugin::encoding'
- 'Template::Plugin::Gettext'
- 'Template::Plugin::HTML::Template'
- 'Template::Plugin::JavaScript'
- 'Template::Plugin::JSON'
- 'Template::Plugin::Map'
- 'Template::Plugin::Markdown'
- 'Template::Plugin::MIME'
- 'Template::Plugin::TimeDate'
- 'Template::Plugin::URI'
- 'Template::Plugin::XML'
- 'Template::Provider::FromDATA'
perl-version:
- 'latest'
XS: [y, n]
container: perl:${{ matrix.perl-version }}
steps:
- uses: actions/checkout@v4
- run: perl -V
- name: Install cpm
run: cpanm -n App::cpm Carton::Snapshot
- name: Install Dependencies
run: cpm install -g --no-test --show-build-log-on-failure --cpanfile cpanfile.plugins
- name: Makefile.PL
run: perl Makefile.PL TT_XS_DEFAULT=${{ matrix.XS }} TT_XS_ENABLE=${{ matrix.XS }} TT_QUIET=n TT_ACCEPT=y
- run: make install
# Try to install multiple plugins to confirm we do not break them
- name: install plugin
run: cpm install -g --test --show-build-log-on-failure ${{ matrix.plugin }}