mirror of
https://github.com/gradle/actions
synced 2024-12-18 06:02:30 +00:00
fb14e0ee5b
After the '[bot] update dist directory' commit, we run a full test suite. This will now use the content from the 'dist' directory, rather than regenerating this content in the test.
100 lines
3.2 KiB
YAML
100 lines
3.2 KiB
YAML
name: Test wrapper validation
|
||
|
||
on:
|
||
workflow_call:
|
||
inputs:
|
||
runner-os:
|
||
type: string
|
||
default: '["ubuntu-latest", "windows-latest", "macos-latest"]'
|
||
skip-dist:
|
||
type: boolean
|
||
default: false
|
||
|
||
env:
|
||
SKIP_DIST: ${{ inputs.skip-dist }}
|
||
|
||
jobs:
|
||
test-setup-gradle-validation:
|
||
strategy:
|
||
fail-fast: false
|
||
matrix:
|
||
os: ${{fromJSON(inputs.runner-os)}}
|
||
runs-on: ${{ matrix.os }}
|
||
steps:
|
||
- name: Checkout sources
|
||
uses: actions/checkout@v4
|
||
- name: Initialize integ-test
|
||
uses: ./.github/actions/init-integ-test
|
||
|
||
- name: Run wrapper-validation-action
|
||
id: setup-gradle
|
||
uses: ./setup-gradle
|
||
with:
|
||
validate-wrappers: true
|
||
continue-on-error: true
|
||
|
||
- name: Check failure
|
||
run: |
|
||
if [ "${{ steps.setup-gradle.outcome}}" != "failure" ] ; then
|
||
echo "Expected validation to fail, but it didn't"
|
||
exit 1
|
||
fi
|
||
|
||
test-validation-success:
|
||
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
|
||
|
||
- 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
|
||
FAILED_WRAPPERS: ${{ steps.action-test.outputs.failed-wrapper }}
|
||
FAILED_WRAPPERS_MATCHES: ${{ steps.action-test.outputs.failed-wrapper == '' }}
|
||
run: |
|
||
if [ "$FAILED_WRAPPERS_MATCHES" != "true" ] ; then
|
||
echo "'outputs.failed-wrapper' has unexpected content: $FAILED_WRAPPERS"
|
||
exit 1
|
||
fi
|
||
|
||
test-validation-error:
|
||
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
|
||
# 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' }}
|
||
FAILED_WRAPPERS: ${{ steps.action-test.outputs.failed-wrapper }}
|
||
FAILED_WRAPPERS_MATCHES: ${{ steps.action-test.outputs.failed-wrapper == 'sources/test/jest/wrapper-validation/data/invalid/gradle-wrapper.jar|sources/test/jest/wrapper-validation/data/invalid/gradlе-wrapper.jar' }}
|
||
run: |
|
||
if [ "$VALIDATION_FAILED" != "true" ] ; then
|
||
echo "Expected validation to fail, but it didn't"
|
||
exit 1
|
||
fi
|
||
|
||
if [ "$FAILED_WRAPPERS_MATCHES" != "true" ] ; then
|
||
echo "'outputs.failed-wrapper' has unexpected content: $FAILED_WRAPPERS"
|
||
exit 1
|
||
fi
|