diff --git a/.github/workflows/testsuite.yml b/.github/workflows/testsuite.yml index b06df793..eca8e3c8 100644 --- a/.github/workflows/testsuite.yml +++ b/.github/workflows/testsuite.yml @@ -19,100 +19,61 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 - - name: perl -V - run: perl -V + - uses: actions/checkout@v4 + - run: perl -V - name: install dependencies - uses: perl-actions/install-with-cpm@v1.3 + uses: perl-actions/install-with-cpm@v1 with: cpanfile: "cpanfile" - name: Makefile.PL run: perl Makefile.PL TT_QUIET=n TT_ACCEPT=y - - name: make test - run: make test + - run: make test - name: make install run: sudo make install - linux: - name: "linux ${{ matrix.perl-version }}" - needs: [ubuntu] - env: - PERL_USE_UNSAFE_INC: 0 - AUTHOR_TESTING: 1 - AUTOMATED_TESTING: 1 - RELEASE_TESTING: 1 - + perl-versions: runs-on: ubuntu-latest - - strategy: - fail-fast: false - matrix: - XS: [y, n] - perl-version: - [ - "5.32", - "5.30", - "5.28", - "5.26", - "5.24", - "5.22", - "5.20", - "5.18", - "5.16", - "5.14", - "5.12", - "5.10", - "5.8", - ] - - container: - image: perl:${{ matrix.perl-version }} - + name: List Perl versions + outputs: + perl-versions: ${{ steps.action.outputs.perl-versions }} steps: - - uses: actions/checkout@v2 - - name: perl -V - run: perl -V - - name: install dependencies - uses: perl-actions/install-with-cpm@v1.3 + - id: action + uses: perl-actions/perl-versions@v1 with: - sudo: false - cpanfile: "cpanfile" - - name: Makefile.PL - run: perl Makefile.PL TT_XS_DEFAULT=${{ matrix.XS }} TT_XS_ENABLE=${{ matrix.XS }} TT_QUIET=n TT_ACCEPT=y - - name: make test - run: make test - - name: make install - run: make install + since-perl: v5.8 + with-devel: true - macOS: - needs: [ubuntu] + linux: + name: "Perl ${{ matrix.perl-version }} XS=${{ matrix.XS }}" + needs: [ubuntu,perl-versions] env: PERL_USE_UNSAFE_INC: 0 AUTHOR_TESTING: 1 AUTOMATED_TESTING: 1 RELEASE_TESTING: 1 - runs-on: macOS-latest + runs-on: ubuntu-latest strategy: fail-fast: false matrix: - perl-version: [latest] XS: [y, n] + perl-version: ${{ fromJson (needs.perl-versions.outputs.perl-versions) }} + + container: perldocker/perl-tester:${{ matrix.perl-version }} steps: - - uses: actions/checkout@v2 - - name: perl -V - run: perl -V + - uses: actions/checkout@v4 + - run: perl -V - name: install dependencies - uses: perl-actions/install-with-cpm@v1.3 + uses: perl-actions/install-with-cpm@v1 with: sudo: false cpanfile: "cpanfile" - name: Makefile.PL run: perl Makefile.PL TT_XS_DEFAULT=${{ matrix.XS }} TT_XS_ENABLE=${{ matrix.XS }} TT_QUIET=n TT_ACCEPT=y - - name: make test - run: make test + - run: make test + - run: make install plugins: needs: [ubuntu,linux] @@ -154,54 +115,18 @@ jobs: - 'latest' XS: [y, n] - container: - image: perl:${{ matrix.perl-version }} + container: perl:${{ matrix.perl-version }} steps: - - uses: actions/checkout@v2 - - name: perl -V - run: perl -V + - uses: actions/checkout@v4 + - run: perl -V - name: Install cpm run: cpanm -n App::cpm Carton::Snapshot - name: Install Dependencies run: cpm install -g --no-test --show-build-log-on-failure --cpanfile cpanfile.plugins - name: Makefile.PL run: perl Makefile.PL TT_XS_DEFAULT=${{ matrix.XS }} TT_XS_ENABLE=${{ matrix.XS }} TT_QUIET=n TT_ACCEPT=y - - name: make install - run: make install + - run: make install # Try to install multiple plugins to confirm we do not break them - name: install plugin run: cpm install -g --test --show-build-log-on-failure ${{ matrix.plugin }} - - - # windows: - # needs: [ubuntu] - # env: - # PERL_USE_UNSAFE_INC: 0 - # AUTHOR_TESTING: 0 - # AUTOMATED_TESTING: 1 - # RELEASE_TESTING: 0 - - # runs-on: windows-latest - - # strategy: - # fail-fast: false - # matrix: - # perl-version: [latest] - - # steps: - # - uses: actions/checkout@master - # - name: Set up Perl - # run: | - # choco install strawberryperl - # echo "C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin" >> $GITHUB_PATH - # - name: perl -V - # run: perl -V - # - name: install dependencies - # uses: perl-actions/install-with-cpm@v1.3 - # with: - # sudo: false - # cpanfile: "cpanfile" - # - run: perl Makefile.PL - # - run: make test -