mirror of
				https://hub.gitmirror.com/https://github.com/gradle/actions.git
				synced 2025-10-30 01:20:05 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			131 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			131 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: Test provision Gradle versions
 | |
| 
 | |
| on:
 | |
|   workflow_call:
 | |
|     inputs:
 | |
|       cache-key-prefix:
 | |
|         type: string
 | |
|         default: '0'
 | |
|       runner-os:
 | |
|         type: string
 | |
|         default: '["ubuntu-latest"]'
 | |
|       skip-dist:
 | |
|         type: boolean
 | |
|         default: false
 | |
| 
 | |
| env:
 | |
|   SKIP_DIST: ${{ inputs.skip-dist }}
 | |
|   GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: provision-gradle-versions-${{ inputs.cache-key-prefix }}
 | |
|   GRADLE_BUILD_ACTION_CACHE_DEBUG_ENABLED: true
 | |
| 
 | |
| permissions:
 | |
|   contents: read
 | |
| 
 | |
| jobs:   
 | |
|   # Tests for executing with different Gradle versions. 
 | |
|   # Each build verifies that it is executed with the expected Gradle version.
 | |
|   provision-gradle:
 | |
|     strategy:
 | |
|       max-parallel: 1
 | |
|       fail-fast: false
 | |
|       matrix:
 | |
|         os: ${{fromJSON(inputs.runner-os)}}
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     steps:
 | |
|     - name: Checkout sources
 | |
|       uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
 | |
|     - name: Initialize integ-test
 | |
|       uses: ./.github/actions/init-integ-test
 | |
| 
 | |
|     - name: Setup Gradle with v6.9
 | |
|       uses: ./setup-gradle
 | |
|       with:
 | |
|         cache-read-only: false # For testing, allow writing cache entries on non-default branches
 | |
|         gradle-version: '6.9'
 | |
|     - name: Test uses Gradle v6.9
 | |
|       working-directory: .github/workflow-samples/no-wrapper
 | |
|       run: gradle help "-DgradleVersionCheck=6.9"
 | |
|     - name: Setup Gradle with v7.1.1
 | |
|       uses: ./setup-gradle
 | |
|       with:
 | |
|         gradle-version: '7.1.1'
 | |
|     - name: Test uses Gradle v7.1.1
 | |
|       working-directory: .github/workflow-samples/no-wrapper
 | |
|       run: gradle help "-DgradleVersionCheck=7.1.1"
 | |
|     - name: Setup Gradle with release-candidate
 | |
|       uses: ./setup-gradle
 | |
|       with:
 | |
|         gradle-version: release-candidate
 | |
|     - name: Test use release-candidate
 | |
|       working-directory: .github/workflow-samples/no-wrapper
 | |
|       run: gradle help
 | |
|     - name: Setup Gradle with current
 | |
|       id: gradle-current
 | |
|       uses: ./setup-gradle
 | |
|       with:
 | |
|         gradle-version: current
 | |
|     - name: Test use current
 | |
|       working-directory: .github/workflow-samples/no-wrapper
 | |
|       run: gradle help
 | |
|     - name: Check current version output parameter
 | |
|       if: ${{ !startsWith(steps.gradle-current.outputs.gradle-version , '8.') }}
 | |
|       uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
 | |
|       with:
 | |
|         script: |
 | |
|           core.setFailed('Gradle version parameter not set correctly: value was "${{ steps.gradle-current.outputs.gradle-version }}"')    
 | |
|   
 | |
|   provision-gradle-version:
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       matrix:
 | |
|         gradle: ['8.14', '8.12', '8.12-rc-1', '8.9', '8.1', '7.6.4', '6.9.4', '5.6.4', '4.10.3', '3.5.1']
 | |
|         os: ${{fromJSON(inputs.runner-os)}}
 | |
|         include:
 | |
|           - java-version: 11
 | |
|           - gradle: '5.6.4'
 | |
|             build-root-suffix: -gradle-5
 | |
|           - gradle: '4.10.3'
 | |
|             build-root-suffix: -gradle-4
 | |
|           - gradle: '3.5.1'
 | |
|             build-root-suffix: -gradle-4
 | |
|             java-version: 8
 | |
|         exclude:
 | |
|           - os: macos-latest # Java 8 is not supported on macos-latest, so we cannot test Gradle 3.5.1
 | |
|             gradle: '3.5.1'
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     steps:
 | |
|     - name: Checkout sources
 | |
|       uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
 | |
|     - name: Initialize integ-test
 | |
|       uses: ./.github/actions/init-integ-test
 | |
| 
 | |
|     - name: Setup Java
 | |
|       uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
 | |
|       with:
 | |
|         distribution: temurin
 | |
|         java-version: ${{ matrix.java-version }}
 | |
|     - name: Setup Gradle
 | |
|       id: setup-gradle
 | |
|       uses: ./setup-gradle
 | |
|       with:
 | |
|         cache-read-only: false # For testing, allow writing cache entries on non-default branches
 | |
|         gradle-version: ${{ matrix.gradle }}
 | |
|     - name: Check output parameter
 | |
|       if: ${{ steps.setup-gradle.outputs.gradle-version != matrix.gradle }}
 | |
|       uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
 | |
|       with:
 | |
|         script: |
 | |
|           core.setFailed('Gradle version parameter not set correctly: value was "${{ steps.setup-gradle.outputs.gradle-version }}"')    
 | |
|     - name: Run Gradle build
 | |
|       id: gradle
 | |
|       working-directory: .github/workflow-samples/no-wrapper${{ matrix.build-root-suffix }}
 | |
|       run: gradle help "-DgradleVersionCheck=${{matrix.gradle}}"
 | |
|     - name: Check Build Scan url
 | |
|       if: ${{ !steps.gradle.outputs.build-scan-url }}
 | |
|       uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
 | |
|       with:
 | |
|         script: |
 | |
|           core.setFailed('No Build Scan detected')    
 | |
|   
 | |
|    
 | 
