diff --git a/.github/workflows/integ-test-wrapper-validation.yml b/.github/workflows/integ-test-wrapper-validation.yml index 25d29f5e..22a5aea1 100644 --- a/.github/workflows/integ-test-wrapper-validation.yml +++ b/.github/workflows/integ-test-wrapper-validation.yml @@ -54,6 +54,7 @@ jobs: with: # to allow the invalid wrapper jar present in test data allow-checksums: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + min-wrapper-count: 10 - name: Check outcome env: @@ -98,3 +99,62 @@ jobs: echo "'outputs.failed-wrapper' has unexpected content: $FAILED_WRAPPERS" exit 1 fi + + test-validation-minimum-wrapper-count: + runs-on: ubuntu-latest + steps: + - name: Checkout sources + uses: actions/checkout@v4 + - name: Initialize integ-test + uses: ./.github/actions/init-integ-test + + - name: Run wrapper-validation-action + id: action-test + uses: ./wrapper-validation + with: + # to allow the invalid wrapper jar present in test data + allow-checksums: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + min-wrapper-count: 11 + # Expected to fail; validated below + continue-on-error: true + + - name: Check outcome + env: + # Evaluate workflow expressions here as env variable values instead of inside shell script + # below to not accidentally inject code into shell script or break its syntax + VALIDATION_FAILED: ${{ steps.action-test.outcome == 'failure' }} + run: | + if [ "$VALIDATION_FAILED" != "true" ] ; then + echo "Expected validation to fail, but it didn't" + exit 1 + fi + + test-validation-zero-wrappers: + runs-on: ubuntu-latest + steps: + - name: Checkout sources + uses: actions/checkout@v4 # Checkout the repository with no wrappers + with: + sparse-checkout: | + .github/actions + dist + wrapper-validation + - name: Initialize integ-test + uses: ./.github/actions/init-integ-test + + - name: Run wrapper-validation-action + id: action-test + uses: ./wrapper-validation + # Expected to fail; validated below + continue-on-error: true + + - name: Check outcome + env: + # Evaluate workflow expressions here as env variable values instead of inside shell script + # below to not accidentally inject code into shell script or break its syntax + VALIDATION_FAILED: ${{ steps.action-test.outcome == 'failure' }} + run: | + if [ "$VALIDATION_FAILED" != "true" ] ; then + echo "Expected validation to fail, but it didn't" + exit 1 + fi