mirror of
				https://hub.gitmirror.com/https://github.com/gradle/actions.git
				synced 2025-10-29 00:50:07 +08:00 
			
		
		
		
	 bcd07e6643
			
		
	
	
		bcd07e6643
		
	
	
	
	
		
			
			- Extract 2 suites to make it possible to reduce concurrency - Add separate workflow for integ-test and integ-test-full
		
			
				
	
	
		
			166 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			166 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: Test wrapper validation
 | ||
| 
 | ||
| on:
 | ||
|   workflow_call:
 | ||
|     inputs:
 | ||
|       runner-os:
 | ||
|         type: string
 | ||
|         default: '["ubuntu-latest"]'
 | ||
|       skip-dist:
 | ||
|         type: boolean
 | ||
|         default: false
 | ||
| 
 | ||
| env:
 | ||
|   SKIP_DIST: ${{ inputs.skip-dist }}
 | ||
| 
 | ||
| jobs:
 | ||
|   wrapper-validation-setup-gradle:
 | ||
|     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
 | ||
|       env:
 | ||
|         ALLOWED_GRADLE_WRAPPER_CHECKSUMS: ''
 | ||
|       continue-on-error: true
 | ||
| 
 | ||
|     - name: Check failure
 | ||
|       shell: bash
 | ||
|       run: |
 | ||
|         if [ "${{ steps.setup-gradle.outcome}}" != "failure" ] ; then
 | ||
|           echo "Expected validation to fail, but it didn't"
 | ||
|           exit 1
 | ||
|         fi
 | ||
| 
 | ||
|   wrapper-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
 | ||
|         min-wrapper-count: 10
 | ||
| 
 | ||
|     - 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 == '' }}
 | ||
|       shell: bash
 | ||
|       run: |
 | ||
|         if [ "$FAILED_WRAPPERS_MATCHES" != "true" ] ; then
 | ||
|           echo "'outputs.failed-wrapper' has unexpected content: $FAILED_WRAPPERS"
 | ||
|           exit 1
 | ||
|         fi
 | ||
| 
 | ||
|   wrapper-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' }}
 | ||
|       shell: bash
 | ||
|       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
 | ||
| 
 | ||
|   wrapper-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' }}
 | ||
|       shell: bash
 | ||
|       run: |
 | ||
|         if [ "$VALIDATION_FAILED" != "true" ] ; then
 | ||
|           echo "Expected validation to fail, but it didn't"
 | ||
|           exit 1
 | ||
|         fi
 | ||
| 
 | ||
|   wrapper-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' }}
 | ||
|       shell: bash
 | ||
|       run: |
 | ||
|         if [ "$VALIDATION_FAILED" != "true" ] ; then
 | ||
|           echo "Expected validation to fail, but it didn't"
 | ||
|           exit 1
 | ||
|         fi
 |