mirror of
				https://hub.gitmirror.com/https://github.com/gradle/actions.git
				synced 2025-11-01 02:20:00 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			149 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			149 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
|  # Make sure the action works on a clean machine without building
 | |
| name: prod
 | |
| 
 | |
| on:
 | |
|   pull_request:
 | |
|   push:
 | |
|   workflow_dispatch:
 | |
| 
 | |
| env:
 | |
|   CACHE_KEY_SEED: ${{github.workflow}}#${{github.run_number}}-
 | |
| 
 | |
| jobs:
 | |
|   # Run initial Gradle builds to push initial cache entries
 | |
|   # These builds should start fresh without cache hits, due to the seed injected into the cache key above.
 | |
|   seed-build:
 | |
|     strategy:
 | |
|       matrix:
 | |
|         os: [ubuntu-latest, macos-latest, windows-latest]
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     steps:
 | |
|     - name: Checkout sources
 | |
|       uses: actions/checkout@v2
 | |
|     - name: Build using Gradle wrapper
 | |
|       uses: ./
 | |
|       with:
 | |
|         build-root-directory: __tests__/samples/basic
 | |
|         arguments: test
 | |
|     - name: Build with configuration-cache enabled
 | |
|       uses: ./
 | |
|       with:
 | |
|         build-root-directory: __tests__/samples/basic
 | |
|         arguments: test --configuration-cache
 | |
|    
 | |
|   # Tests for executing with different Gradle versions. 
 | |
|   # Each build verifies that it is executed with the expected Gradle version.
 | |
|   gradle-execution:
 | |
|     needs: seed-build
 | |
|     strategy:
 | |
|       matrix:
 | |
|         os: [ubuntu-latest, macos-latest, windows-latest]
 | |
|         include:
 | |
|           - os: windows-latest
 | |
|             script-suffix: '.bat'
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     steps:
 | |
|     - name: Checkout sources
 | |
|       uses: actions/checkout@v2
 | |
|     - name: Test use defined Gradle version
 | |
|       uses: ./
 | |
|       with:
 | |
|         gradle-version: 6.9
 | |
|         build-root-directory: __tests__/samples/no-wrapper
 | |
|         arguments: help -DgradleVersionCheck=6.9
 | |
|         gradle-user-home-cache-enabled: read-only
 | |
|         project-dot-gradle-cache-enabled: read-only
 | |
|     - name: Test use Gradle version alias
 | |
|       uses: ./
 | |
|       with:
 | |
|         gradle-version: release-candidate
 | |
|         build-root-directory: __tests__/samples/no-wrapper
 | |
|         arguments: help -DgradleVersionCheck=7.2
 | |
|         gradle-user-home-cache-enabled: read-only
 | |
|         project-dot-gradle-cache-enabled: read-only
 | |
|     - name: Test use defined Gradle executable
 | |
|       uses: ./
 | |
|       with:
 | |
|         gradle-executable: __tests__/samples/basic/gradlew${{ matrix.script-suffix }}
 | |
|         build-root-directory: __tests__/samples/no-wrapper
 | |
|         arguments: help -DgradleVersionCheck=7.1.1
 | |
|         gradle-user-home-cache-enabled: read-only
 | |
|         project-dot-gradle-cache-enabled: read-only
 | |
| 
 | |
|   # Test that the gradle-user-home cache will cache dependencies, by running build with --offline
 | |
|   dependencies-cache:
 | |
|     needs: seed-build
 | |
|     strategy:
 | |
|       matrix:
 | |
|         os: [ubuntu-latest, macos-latest, windows-latest]
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     steps:
 | |
|     - name: Checkout sources
 | |
|       uses: actions/checkout@v2
 | |
|     - name: Execute Gradle build with --offline
 | |
|       uses: ./
 | |
|       with:
 | |
|         build-root-directory: __tests__/samples/basic
 | |
|         arguments: test --offline
 | |
|         gradle-user-home-cache-enabled: read-only
 | |
|         project-dot-gradle-cache-enabled: read-only
 | |
| 
 | |
|   # Test that the gradle-user-home cache will cache and restore local build-cache
 | |
|   build-cache:
 | |
|     needs: seed-build
 | |
|     strategy:
 | |
|       matrix:
 | |
|         os: [ubuntu-latest, macos-latest, windows-latest]
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     steps:
 | |
|     - name: Checkout sources
 | |
|       uses: actions/checkout@v2
 | |
|     - name: Execute Gradle build and verify tasks from cache
 | |
|       uses: ./
 | |
|       with:
 | |
|         build-root-directory: __tests__/samples/basic
 | |
|         arguments: test -DverifyCachedBuild=true
 | |
|         gradle-user-home-cache-enabled: read-only
 | |
|         project-dot-gradle-cache-enabled: read-only
 | |
| 
 | |
|   # Test that the project-dot-gradle cache will cache and restore configuration-cache
 | |
|   configuration-cache:
 | |
|     needs: seed-build
 | |
|     strategy:
 | |
|       matrix:
 | |
|         os: [ubuntu-latest, macos-latest, windows-latest]
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     steps:
 | |
|     - name: Checkout sources
 | |
|       uses: actions/checkout@v2
 | |
|     - name: Execute Gradle build and verify cached configuration
 | |
|       uses: ./
 | |
|       env: 
 | |
|         VERIFY_CACHED_CONFIGURATION: true
 | |
|       with:
 | |
|         build-root-directory: __tests__/samples/basic
 | |
|         arguments: test --configuration-cache
 | |
|         gradle-user-home-cache-enabled: read-only
 | |
|         project-dot-gradle-cache-enabled: read-only
 | |
| 
 | |
|   # These build invocations are informational only, and are expected to fail
 | |
|   failures: 
 | |
|     needs: seed-build
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|     - name: Checkout sources
 | |
|       uses: actions/checkout@v2
 | |
|     - name: Test wrapper missing
 | |
|       uses: ./
 | |
|       continue-on-error: true
 | |
|       with:
 | |
|         build-root-directory: __tests__/samples/no-wrapper
 | |
|         arguments: help
 | |
|     - name: Test bad config value
 | |
|       uses: ./
 | |
|       continue-on-error: true
 | |
|       with:
 | |
|         build-root-directory: __tests__/samples/no-wrapper
 | |
|         arguments: help
 | |
|         gradle-user-home-cache-enabled: no
 | 
