diff options
Diffstat (limited to '.github/workflows/dzil-build-and-test.yml')
-rw-r--r-- | .github/workflows/dzil-build-and-test.yml | 165 |
1 files changed, 165 insertions, 0 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 |