Skip to content

Move live httpbin.org test to xt/ so outages can't fail installs #149

Move live httpbin.org test to xt/ so outages can't fail installs

Move live httpbin.org test to xt/ so outages can't fail installs #149

---
name: test
on:
push:
branches:
- "master"
pull_request:
branches:
- "*"
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build-job:
name: Build distribution
runs-on: ubuntu-latest
container:
image: perldocker/perl-tester:5.42
steps:
- uses: actions/checkout@v7
- name: Run Tests
env:
AUTHOR_TESTING: 1
AUTOMATED_TESTING: 1
EXTENDED_TESTING: 1
RELEASE_TESTING: 1
run: upgrade-perl-helpers && auto-build-and-test-dist
- uses: actions/upload-artifact@v7
with:
name: build_dir
path: build_dir
coverage-job:
needs: build-job
runs-on: ubuntu-latest
container:
image: perldocker/perl-tester:5.42
steps:
- uses: actions/checkout@v7 # codecov wants to be inside a Git repository
- uses: actions/download-artifact@v8
with:
name: build_dir
path: .
- name: Install deps and test
run: cpan-install-dist-deps && test-dist
env:
CODECOV_TOKEN: ${{secrets.CODECOV_TOKEN}}
# Perl development version (blead). Informational only: a red X here means the
# dist broke on the upcoming Perl (see GH#96, where it failed to install on
# blead 5.45.1). Keep this OUT of the required status checks so it never
# blocks a merge -- we want the signal, not a gate.
blead-job:
name: Perl blead (devel, non-blocking)
needs: build-job
runs-on: ubuntu-latest
container:
image: perldocker/perl-tester:devel
steps:
- uses: actions/download-artifact@v7
with:
name: build_dir
path: .
- name: Install deps and test on blead
run: cpan-install-dist-deps && test-dist
test-job:
needs: build-job
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
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"
- "5.40"
- "5.42"
exclude:
- os: windows-latest
perl-version: "5.10"
- os: windows-latest
perl-version: "5.12"
- os: windows-latest
perl-version: "5.14"
- os: windows-latest
perl-version: "5.16"
- os: windows-latest
perl-version: "5.18"
- os: windows-latest
perl-version: "5.32"
- os: windows-latest
perl-version: "5.34"
- os: windows-latest
perl-version: "5.36"
- os: windows-latest
perl-version: "5.38"
name: Perl ${{ matrix.perl-version }} on ${{ matrix.os }}
steps:
- name: Set Up Strawberry Perl
uses: shogo82148/actions-setup-perl@v1
with:
perl-version: ${{ matrix.perl-version }}
distribution: strawberry
if: ${{ matrix.os == 'windows-latest' }}
- name: Set Up Regular Perl
uses: shogo82148/actions-setup-perl@v1
with:
perl-version: ${{ matrix.perl-version }}
if: ${{ matrix.os != 'windows-latest' }}
- uses: actions/download-artifact@v8
with:
name: build_dir
path: .
- uses: perl-actions/setup-cpm@v1
with:
version: compat
- name: install deps using cpm
run: cpm install -g --cpanfile cpanfile --with-suggests --with-recommends --with-test
- run: prove -lr t