summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlaf Alders <olaf@wundersolutions.com>2021-01-29 16:22:56 -0500
committerOlaf Alders <olaf@wundersolutions.com>2021-01-29 17:51:02 -0500
commit5e5b6ca0c3c17001c421abf2b62236673c025966 (patch)
tree8905adee53c86a2679940ea8ecd4752830c533b4
parent5ffb78e7a4636044bde9ecef356517b5b1602f4d (diff)
downloaduri-5e5b6ca0c3c17001c421abf2b62236673c025966.tar.gz
Replace Travis with GitHub Workflows
-rw-r--r--.github/workflows/dzil-build-and-test.yml165
-rw-r--r--.travis.yml52
2 files changed, 165 insertions, 52 deletions
diff --git a/.github/workflows/dzil-build-and-test.yml b/.github/workflows/dzil-build-and-test.yml
new file mode 100644
index 0000000..3800ecf
--- /dev/null
+++ b/.github/workflows/dzil-build-and-test.yml
@@ -0,0 +1,165 @@
+---
+name: dzil build and test
+
+on:
+ push:
+ branches:
+ - "*"
+ pull_request:
+ branches:
+ - "*"
+ schedule:
+ - cron: "15 4 * * 0" # Every Sunday morning
+
+jobs:
+ build-job:
+ name: Build distribution
+ runs-on: ubuntu-20.04
+ container:
+ image: perldocker/perl-tester:5.32
+ steps:
+ - uses: actions/checkout@v2
+ - name: Run Tests
+ env:
+ AUTHOR_TESTING: 1
+ AUTOMATED_TESTING: 1
+ EXTENDED_TESTING: 1
+ RELEASE_TESTING: 1
+ run: auto-build-and-test-dist
+ - uses: actions/upload-artifact@v2
+ with:
+ name: build_dir
+ path: build_dir
+ if: ${{ github.actor != 'nektos/act' }}
+ coverage-job:
+ needs: build-job
+ runs-on: ubuntu-20.04
+ container:
+ image: perldocker/perl-tester:5.32
+ steps:
+ - uses: actions/checkout@v2 # codecov wants to be inside a Git repository
+ - uses: actions/download-artifact@v2
+ with:
+ name: build_dir
+ path: .
+ - name: Install deps and test
+ run: cpan-install-dist-deps && test-dist
+ env:
+ CODECOV_TOKEN: ${{secrets.CODECOV_TOKEN}}
+ ubuntu-test-job:
+ needs: build-job
+ runs-on: "ubuntu-latest"
+ strategy:
+ fail-fast: true
+ matrix:
+ os: [ubuntu-20.04]
+ perl-version:
+ - "5.8"
+ - "5.10"
+ - "5.12"
+ - "5.14"
+ - "5.16"
+ - "5.18"
+ - "5.20"
+ - "5.22"
+ - "5.24"
+ - "5.26"
+ - "5.28"
+ - "5.30"
+ - "5.32"
+ name: perl ${{ 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@v2
+ with:
+ name: build_dir
+ path: .
+ - name: install deps using cpm
+ uses: perl-actions/install-with-cpm@v1
+ with:
+ cpanfile: "cpanfile"
+ args: "--with-suggests --with-recommends --with-test --with-develop"
+ - run: prove -lrv t xt
+ env:
+ AUTHOR_TESTING: 1
+ RELEASE_TESTING: 1
+ macos-test-job:
+ needs: ubuntu-test-job
+ runs-on: "macos-latest"
+ strategy:
+ fail-fast: true
+ matrix:
+ os: [macos-latest]
+ perl-version:
+ - "5.8"
+ - "5.10"
+ - "5.12"
+ - "5.14"
+ - "5.16"
+ - "5.18"
+ - "5.20"
+ - "5.22"
+ - "5.24"
+ - "5.26"
+ - "5.28"
+ - "5.30"
+ - "5.32"
+ name: perl ${{ 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@v2
+ with:
+ name: build_dir
+ path: .
+ - name: install deps using cpm
+ uses: perl-actions/install-with-cpm@v1
+ with:
+ cpanfile: "cpanfile"
+ args: "--with-suggests --with-recommends --with-test --with-develop"
+ - run: prove -lrv t xt
+ env:
+ AUTHOR_TESTING: 1
+ RELEASE_TESTING: 1
+ windows-test-job:
+ needs: ubuntu-test-job
+ runs-on: "windows-latest"
+ strategy:
+ fail-fast: true
+ matrix:
+ os: [windows-latest]
+ perl-version:
+ - "5.14"
+ - "5.16"
+ - "5.18"
+ - "5.20"
+ - "5.22"
+ - "5.24"
+ - "5.26"
+ - "5.28"
+ - "5.30"
+ name: perl ${{ matrix.perl-version }} on ${{ matrix.os }}
+ steps:
+ - name: set up perl
+ uses: shogo82148/actions-setup-perl@v1
+ with:
+ perl-version: ${{ matrix.perl-version }}
+ distribution: strawberry # this option only used on windows
+ - uses: actions/download-artifact@v2
+ with:
+ name: build_dir
+ path: .
+ - name: install deps using cpm
+ uses: perl-actions/install-with-cpm@v1
+ with:
+ cpanfile: "cpanfile"
+ args: "--with-suggests --with-recommends --with-test"
+ - run: prove -lrv t
+ env:
+ AUTHOR_TESTING: 0
+ RELEASE_TESTING: 0
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index d47103d..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,52 +0,0 @@
----
-addons:
- apt:
- packages:
- - aspell
- - aspell-en
-language: perl
-perl:
- - blead
- - dev
- - "5.30"
- - "5.28"
- - "5.26"
- - "5.24"
- - "5.22"
- - "5.20"
- - "5.18"
- - "5.16"
- - "5.14"
- - "5.12"
- - "5.10"
-cache:
- directories:
- - "~/perl5"
-matrix:
- allow_failures:
- - perl: blead
- fast_finish: 1
- include:
- - env: COVERAGE=1
- perl: "5.30"
-env:
- global:
- - AUTHOR_TESTING=1
- - AUTOMATED_TESTING=1
- - RELEASE_TESTING=1
-before_install:
- - eval $(curl https://travis-perl.github.io/init) --auto --always-upgrade-modules
-script:
- - perl Makefile.PL
- - make
- - prove -b -r -s -j$(test-jobs) $(test-files)
- - make install
- - unset AUTHOR_TESTING; unset AUTOMATED_TESTING; unset RELEASE_TESTING
- - cpanm --test-only HTTP::Message || ( cat ~/.cpanm/build.log; false )
- - cpanm --test-only LWP || ( cat ~/.cpanm/build.log; false )
-### __app_cisetup__
-# ---
-# force_threaded_perls: 0
-# perl_caching: 1
-
-### __app_cisetup__