diff options
author | Bram <perl-rt@wizbit.be> | 2022-08-20 13:50:46 +0200 |
---|---|---|
committer | Yves Orton <demerphq@gmail.com> | 2022-09-05 16:44:05 +0200 |
commit | 178616fe14feb613d5a76b07ebd6e2c901355876 (patch) | |
tree | 9423f4c4059bd082ed10c1f1eb94bbd2e359f4c8 /.github | |
parent | 8d845d9fec753ecdb61ad65787eaf8ec7a311eb0 (diff) | |
download | perl-178616fe14feb613d5a76b07ebd6e2c901355876.tar.gz |
CI: Special case porting test in 'sanity check'
Add a special case for the porting test in the sanity check of the
CI run.
Before:
When a porting test failed (such as t/porting/authors.t,
t/porting/cmp_version.t, ...) then it would skip all the other
test configurations.
Now:
When a porting test fails:
- result of sanity check is failure (i.e. it's red)
- other test configurations are run and these will also run the
porting tests. (These may or may not fail, depending on the test)
When a non-porting test fails:
- result of sanity check is failure (i.e. it's red)
- sanity check still runs the porting tests
- other test configurations are skipped
Note: in the `if`conditions of the other test configurations it was
needed to include `always()` because otherwise GitHub uses an
implicit `success() &&` (which check the result of the
sanity check - which is unwanted if only the porting tests failed)
Fixes #19867
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/testsuite.yml | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/.github/workflows/testsuite.yml b/.github/workflows/testsuite.yml index 5af908d9cf..3e0970019e 100644 --- a/.github/workflows/testsuite.yml +++ b/.github/workflows/testsuite.yml @@ -102,15 +102,16 @@ jobs: env: CONFIGURE_ARGS: "-Dusethreads" - name: Build + id: build run: | make -j2 test_prep - name: Show Config run: | ./perl -Ilib -V ./perl -Ilib -e 'use Config; print Config::config_sh' - - name: Run Tests + - name: Run Tests (excluding t/porting) run: | - TEST_JOBS=2 ./perl t/harness + TEST_JOBS=2 ./perl t/harness -nre='^porting/' # Set a variable for dependent jobs to signal if full testsuite is enabled - name: "Check if EXTENDED_TESTING is set" @@ -127,6 +128,11 @@ jobs: echo "::set-output name=run_all_jobs::true" fi + - name: Run Porting Tests (t/porting) + if: always() && steps.build.outcome == 'success' + run: | + TEST_JOBS=2 ./perl t/harness -re='^porting/' + # _ _ # | (_)_ _ _ ___ __ # | | | ' \ || \ \ / @@ -136,7 +142,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 120 needs: sanity_check - if: needs.sanity_check.outputs.run_all_jobs == 'true' + if: always() && needs.sanity_check.outputs.run_all_jobs == 'true' strategy: fail-fast: false @@ -193,7 +199,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 120 needs: sanity_check - if: needs.sanity_check.outputs.run_all_jobs == 'true' + if: always() && needs.sanity_check.outputs.run_all_jobs == 'true' # https://hub.docker.com/r/i386/ubuntu/ container: @@ -247,7 +253,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 120 needs: sanity_check - if: needs.sanity_check.outputs.run_all_jobs == 'true' + if: always() && needs.sanity_check.outputs.run_all_jobs == 'true' steps: - name: Install System dependencies @@ -297,7 +303,7 @@ jobs: runs-on: macos-10.15 timeout-minutes: 120 needs: sanity_check - if: needs.sanity_check.outputs.run_all_jobs == 'true' + if: always() && needs.sanity_check.outputs.run_all_jobs == 'true' strategy: fail-fast: false @@ -333,7 +339,7 @@ jobs: runs-on: windows-2019 timeout-minutes: 120 needs: sanity_check - if: needs.sanity_check.outputs.run_all_jobs == 'true' + if: always() && needs.sanity_check.outputs.run_all_jobs == 'true' steps: - run: git config --global core.autocrlf false @@ -389,7 +395,7 @@ jobs: runs-on: windows-2019 timeout-minutes: 120 needs: sanity_check - if: needs.sanity_check.outputs.run_all_jobs == 'true' + if: always() && needs.sanity_check.outputs.run_all_jobs == 'true' steps: - run: git config --global core.autocrlf false @@ -439,7 +445,7 @@ jobs: runs-on: windows-2019 timeout-minutes: 120 needs: sanity_check - if: needs.sanity_check.outputs.run_all_jobs == 'true' + if: always() && needs.sanity_check.outputs.run_all_jobs == 'true' steps: # we use Cygwin git, so no need to configure git here. @@ -502,7 +508,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 120 needs: sanity_check - if: needs.sanity_check.outputs.run_all_jobs == 'true' + if: always() && needs.sanity_check.outputs.run_all_jobs == 'true' outputs: run_all_jobs: ${{ steps.check_extended_testing.outputs.run_all_jobs }} @@ -551,7 +557,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 120 needs: sanity_check - if: needs.sanity_check.outputs.run_all_jobs == 'true' + if: always() && needs.sanity_check.outputs.run_all_jobs == 'true' strategy: matrix: @@ -602,7 +608,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 120 needs: sanity_check - if: needs.sanity_check.outputs.run_all_jobs == 'true' + if: always() && needs.sanity_check.outputs.run_all_jobs == 'true' strategy: matrix: |