From 5e5b6ca0c3c17001c421abf2b62236673c025966 Mon Sep 17 00:00:00 2001 From: Olaf Alders Date: Fri, 29 Jan 2021 16:22:56 -0500 Subject: Replace Travis with GitHub Workflows --- .github/workflows/dzil-build-and-test.yml | 165 ++++++++++++++++++++++++++++++ .travis.yml | 52 ---------- 2 files changed, 165 insertions(+), 52 deletions(-) create mode 100644 .github/workflows/dzil-build-and-test.yml delete mode 100644 .travis.yml 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__ -- cgit v1.2.1