mirror of
				https://github.com/gradle/gradle-build-action.git
				synced 2025-11-04 01:28:56 +08:00 
			
		
		
		
	Split the 'prod' workflow up into different isolated workflows
This is required to ensure that cache entries are namespaced correctly for the integration tests.
This commit is contained in:
		
							
								
								
									
										37
									
								
								.github/workflows/failure-cases.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								.github/workflows/failure-cases.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
			
		||||
 # Run builds under certain failure conditions to allow the output to be manually inspected.
 | 
			
		||||
# These build invocations are informational only, and are expected to fail
 | 
			
		||||
name: failure-cases
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  pull_request:
 | 
			
		||||
  push:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  CACHE_KEY_PREFIX: ${{github.workflow}}#${{github.run_number}}-
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  wrapper-missing:
 | 
			
		||||
    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
 | 
			
		||||
 | 
			
		||||
  bad-configuration:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout sources
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - name: Test bad config value
 | 
			
		||||
      uses: ./
 | 
			
		||||
      continue-on-error: true
 | 
			
		||||
      with:
 | 
			
		||||
        build-root-directory: __tests__/samples/no-wrapper
 | 
			
		||||
        arguments: help
 | 
			
		||||
        gradle-cache-enabled: no
 | 
			
		||||
							
								
								
									
										37
									
								
								.github/workflows/integration-testing-kotlin-dsl.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								.github/workflows/integration-testing-kotlin-dsl.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
			
		||||
 # Make sure the action works on a clean machine without building
 | 
			
		||||
name: integration-testing-kotlin-dsl
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  pull_request:
 | 
			
		||||
  push:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  CACHE_KEY_PREFIX: ${{github.workflow}}#${{github.run_number}}-
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  # Use kotlin-dsl project to verify caching of generated jars and compiled scripts
 | 
			
		||||
  seed-build:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout sources
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - name: Build kotlin-dsl project
 | 
			
		||||
      uses: ./
 | 
			
		||||
      with:
 | 
			
		||||
        build-root-directory: __tests__/samples/kotlin-dsl
 | 
			
		||||
        arguments: test
 | 
			
		||||
 | 
			
		||||
  # Check that the build can run --offline
 | 
			
		||||
  verify-build:
 | 
			
		||||
    needs: seed-build
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout sources
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - name: Build kotlin-dsl project
 | 
			
		||||
      uses: ./
 | 
			
		||||
      with:
 | 
			
		||||
        build-root-directory: __tests__/samples/kotlin-dsl
 | 
			
		||||
        arguments: test --offline
 | 
			
		||||
        gradle-cache-enabled: read-only
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
 # Make sure the action works on a clean machine without building
 | 
			
		||||
name: prod
 | 
			
		||||
 # Verify the functionality works as expected
 | 
			
		||||
name: integration-testing
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  pull_request:
 | 
			
		||||
@@ -119,50 +119,3 @@ jobs:
 | 
			
		||||
        build-root-directory: __tests__/samples/basic
 | 
			
		||||
        arguments: test --configuration-cache
 | 
			
		||||
        gradle-cache-enabled: read-only
 | 
			
		||||
 | 
			
		||||
  # Use kotlin-dsl project to verify caching of generated jars and compiled scripts
 | 
			
		||||
  # At this stage there is no automated verification of this caching: eyeball the build scan to verify
 | 
			
		||||
  seed-kotlin-dsl-build:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout sources
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - name: Build kotlin-dsl project
 | 
			
		||||
      uses: ./
 | 
			
		||||
      with:
 | 
			
		||||
        build-root-directory: __tests__/samples/kotlin-dsl
 | 
			
		||||
        arguments: test
 | 
			
		||||
 | 
			
		||||
  verify-kotlin-dsl-build:
 | 
			
		||||
    needs: seed-kotlin-dsl-build
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout sources
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - name: Build kotlin-dsl project
 | 
			
		||||
      uses: ./
 | 
			
		||||
      with:
 | 
			
		||||
        build-root-directory: __tests__/samples/kotlin-dsl
 | 
			
		||||
        arguments: test
 | 
			
		||||
        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-cache-enabled: no
 | 
			
		||||
		Reference in New Issue
	
	Block a user