From c1a44c5d8cd699e647f8bc9c7a884345a417efc3 Mon Sep 17 00:00:00 2001 From: Olaf Alders Date: Tue, 9 Jun 2020 10:40:34 -0400 Subject: [PATCH] Add GitHub Actions config Don't test 5.10 and 5.12 on Windows https://github.com/shogo82148/actions-setup-perl/issues/225 --- .github/workflows/build-and-test.yml | 133 +++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 .github/workflows/build-and-test.yml diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml new file mode 100644 index 00000000..489ba452 --- /dev/null +++ b/.github/workflows/build-and-test.yml @@ -0,0 +1,133 @@ +--- +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-latest + 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: upgrade-perl-helpers && auto-build-and-test-dist + - uses: actions/upload-artifact@master + with: + name: build_dir + path: build_dir + coverage-job: + needs: build-job + runs-on: ubuntu-latest + container: + image: perldocker/perl-tester:5.32 + steps: + - uses: actions/checkout@v2 # codecov wants to be inside a Git repository + - uses: actions/download-artifact@master + with: + name: build_dir + path: . + - name: Install deps and test + run: cpan-install-dist-deps && test-dist + env: + CODECOV_TOKEN: ${{secrets.CODECOV_TOKEN}} + test-linux: + needs: build-job + runs-on: ubuntu-latest + container: + image: "perldocker/perl-tester:${{ matrix.perl-version }}" + name: "Linux on ${{ matrix.perl-version }}" + strategy: + matrix: + 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" + steps: + - uses: actions/checkout@v2 + - 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/download-artifact@master + with: + name: build_dir + path: . + - name: Install deps and test + run: cpan-install-dist-deps && test-dist + test-macos-and-windows: + needs: test-linux + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [macos-latest, windows-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" + exclude: + - os: windows-latest + perl-version: "5.8" + - os: windows-latest + perl-version: "5.10" + - os: windows-latest + perl-version: "5.12" + - os: windows-latest + perl-version: "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 }} + distribution: strawberry # this option only used on Windows + - uses: actions/download-artifact@master + with: + name: build_dir + path: . + - name: install deps using cpm + uses: perl-actions/install-with-cpm@v1.3 + with: + cpanfile: "cpanfile" + args: "--with-suggests --with-recommends --with-test" + - run: prove -l t xt + env: + AUTHOR_TESTING: 1 + RELEASE_TESTING: 1