Simplify TestServer dispatch() interface to ($c, $r) #200
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| name: dzil build and test | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| name: Build distribution | |
| runs-on: ubuntu-24.04 | |
| container: | |
| image: perldocker/perl-tester:5.42 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Build Dist | |
| run: > | |
| cpan-install-build-deps; | |
| build-dist | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: build_dir | |
| path: build_dir | |
| coverage-job: | |
| needs: build | |
| runs-on: ubuntu-24.04 | |
| container: | |
| image: perldocker/perl-tester:5.42 | |
| steps: | |
| - uses: actions/checkout@v6 # 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}} | |
| HARNESS_PERL_SWITCHES: "-MDevel::Cover=+ignore,^local/|^t/|^xt" | |
| test_linux: | |
| runs-on: ubuntu-latest | |
| name: Perl ${{ matrix.perl-version }} on ubuntu-latest | |
| needs: build | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| 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" | |
| container: | |
| image: perldocker/perl-tester:${{ matrix.perl-version }} | |
| env: | |
| AUTHOR_TESTING: 0 | |
| RELEASE_TESTING: 0 | |
| steps: | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| name: build_dir | |
| path: . | |
| - name: Install deps | |
| if: success() | |
| uses: perl-actions/install-with-cpm@v2 | |
| with: | |
| cpanfile: "cpanfile" | |
| args: "--with-recommends --with-suggests --with-test" | |
| sudo: false | |
| # App::cpm v0.999.0+ requires Perl 5.24+; pin older Perls to the last compatible release. | |
| version: ${{ matrix.perl-version <= '5.22' && '0.998003' || 'main' }} | |
| - name: Run Tests | |
| if: success() | |
| run: prove -lrv t | |
| test_macos: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: ["macos-latest"] | |
| perl-version: | |
| - "5.14" | |
| - "5.16" | |
| - "5.18" | |
| - "5.20" | |
| - "5.22" | |
| - "5.24" | |
| - "5.26" | |
| - "5.28" | |
| - "5.30" | |
| - "5.34" | |
| - "5.36" | |
| - "5.38" | |
| - "5.40" | |
| - "5.42" | |
| name: Perl ${{ matrix.perl-version }} on ${{ matrix.os }} | |
| needs: build | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set Up Perl | |
| uses: shogo82148/actions-setup-perl@v1.41.0 | |
| with: | |
| perl-version: ${{ matrix.perl-version }} | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| name: build_dir | |
| path: . | |
| - run: perl -V | |
| - name: install deps using cpm | |
| uses: perl-actions/install-with-cpm@v2 | |
| with: | |
| cpanfile: "cpanfile" | |
| args: "--with-recommends --with-suggests --with-test" | |
| sudo: false | |
| # App::cpm v0.999.0+ requires Perl 5.24+; pin older Perls to the last compatible release. | |
| version: ${{ matrix.perl-version <= '5.22' && '0.998003' || 'main' }} | |
| - run: prove -lrv t | |
| env: | |
| AUTHOR_TESTING: 0 | |
| RELEASE_TESTING: 0 | |
| test_windows: | |
| # Temporarily disabled - re-enable by removing this `if`. | |
| if: false | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: ["windows-latest"] | |
| perl-version: | |
| # https://github.com/shogo82148/actions-setup-perl/issues/223 | |
| #- "5.10" | |
| #- "5.12" | |
| #- "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 }} | |
| needs: build | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set Up Perl | |
| uses: shogo82148/actions-setup-perl@v1.41.0 | |
| with: | |
| perl-version: ${{ matrix.perl-version }} | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| name: build_dir | |
| path: . | |
| - name: install deps using cpanm | |
| uses: perl-actions/install-with-cpm@v2 | |
| with: | |
| cpanfile: "cpanfile" | |
| sudo: false | |
| # App::cpm v0.999.0+ requires Perl 5.24+; pin older Perls to the last compatible release. | |
| version: ${{ matrix.perl-version <= '5.22' && '0.998003' || 'main' }} | |
| - run: perl -V | |
| - run: prove -lrv t | |
| env: | |
| AUTHOR_TESTING: 0 | |
| RELEASE_TESTING: 0 |