mirror of
				https://hub.gitmirror.com/https://github.com/gradle/actions.git
				synced 2025-10-30 01:20:05 +08:00 
			
		
		
		
	 fb14e0ee5b
			
		
	
	
		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.
		
			
				
	
	
		
			156 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			156 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: Test dependency graph
 | |
| 
 | |
| on:
 | |
|   workflow_call:
 | |
|     inputs:
 | |
|       cache-key-prefix:
 | |
|         type: string
 | |
|       runner-os:
 | |
|         type: string
 | |
|         default: '["ubuntu-latest", "windows-latest", "macos-latest"]'
 | |
|       skip-dist:
 | |
|         type: boolean
 | |
|         default: false
 | |
| 
 | |
| permissions:
 | |
|   contents: write
 | |
| 
 | |
| env:
 | |
|   SKIP_DIST: ${{ inputs.skip-dist }}
 | |
|   GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: dependency-graph-${{ inputs.cache-key-prefix }}
 | |
| 
 | |
| jobs:
 | |
|   groovy-generate:
 | |
|     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: Setup Gradle for dependency-graph generate
 | |
|       uses: ./setup-gradle
 | |
|       with:
 | |
|         dependency-graph: generate-and-upload
 | |
|     - name: Run gradle build
 | |
|       run: ./gradlew build
 | |
|       working-directory: .github/workflow-samples/groovy-dsl
 | |
| 
 | |
|   groovy-submit:
 | |
|     needs: [groovy-generate]
 | |
|     runs-on: "ubuntu-latest"
 | |
|     steps:
 | |
|     - name: Checkout sources
 | |
|       uses: actions/checkout@v4
 | |
|     - name: Initialize integ-test
 | |
|       uses: ./.github/actions/init-integ-test
 | |
| 
 | |
|     - name: Submit dependency graphs
 | |
|       uses: ./setup-gradle
 | |
|       with:
 | |
|         dependency-graph: download-and-submit
 | |
| 
 | |
|   kotlin-generate-and-submit:
 | |
|     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: Setup Gradle for dependency-graph generate
 | |
|       uses: ./setup-gradle
 | |
|       with:
 | |
|         dependency-graph: generate-and-submit
 | |
|     - name: Run gradle build
 | |
|       run: ./gradlew build
 | |
|       working-directory: .github/workflow-samples/kotlin-dsl
 | |
| 
 | |
|   multiple-builds:
 | |
|     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: Setup Gradle for dependency-graph generate
 | |
|       uses: ./setup-gradle
 | |
|       with:
 | |
|         dependency-graph: generate-and-submit
 | |
|     - id: gradle-assemble
 | |
|       run: ./gradlew assemble
 | |
|       working-directory: .github/workflow-samples/groovy-dsl
 | |
|     - id: gradle-build
 | |
|       run: ./gradlew build
 | |
|       working-directory: .github/workflow-samples/groovy-dsl
 | |
|     - id: gradle-build-again
 | |
|       run: ./gradlew build
 | |
|       working-directory: .github/workflow-samples/groovy-dsl
 | |
|     - name: Check generated dependency graphs
 | |
|       shell: bash
 | |
|       run: |
 | |
|         echo "gradle-assemble report file: ${{ steps.gradle-assemble.outputs.dependency-graph-file }}"
 | |
|         echo "gradle-build report file: ${{ steps.gradle-build.outputs.dependency-graph-file }}"
 | |
|         echo "gradle-build-again report file: ${{ steps.gradle-build-again.outputs.dependency-graph-file }}"
 | |
|         ls -l dependency-graph-reports
 | |
|         if [ ! -e "${{ steps.gradle-assemble.outputs.dependency-graph-file }}" ]; then
 | |
|             echo "Did not find gradle-assemble dependency graph file"
 | |
|             exit 1
 | |
|         fi
 | |
|         if [ ! -e "${{ steps.gradle-build.outputs.dependency-graph-file }}" ]; then
 | |
|             echo "Did not find gradle-build dependency graph files"
 | |
|             exit 1
 | |
|         fi
 | |
|         if [ ! -e "${{ steps.gradle-build-again.outputs.dependency-graph-file }}" ]; then
 | |
|             echo "Did not find gradle-build-again dependency graph files"
 | |
|             exit 1
 | |
|         fi
 | |
|         
 | |
|   config-cache:
 | |
|     runs-on: ubuntu-latest # Test is not compatible with Windows
 | |
|     steps:
 | |
|     - name: Checkout sources
 | |
|       uses: actions/checkout@v4
 | |
|     - name: Initialize integ-test
 | |
|       uses: ./.github/actions/init-integ-test
 | |
| 
 | |
|     - name: Setup Gradle for dependency-graph generate
 | |
|       uses: ./setup-gradle
 | |
|       with:
 | |
|         dependency-graph: generate-and-submit
 | |
|     - id: config-cache-store
 | |
|       run: ./gradlew assemble --configuration-cache
 | |
|       working-directory: .github/workflow-samples/groovy-dsl
 | |
|     - name: Check and delete generated dependency graph
 | |
|       shell: bash
 | |
|       run: |
 | |
|         if [ ! -e "${{ steps.config-cache-store.outputs.dependency-graph-file }}" ]; then
 | |
|             echo "Did not find config-cache-store dependency graph files"
 | |
|             exit 1
 | |
|         fi
 | |
|         rm ${{ steps.config-cache-store.outputs.dependency-graph-file }}
 | |
|     - id: config-cache-reuse
 | |
|       run: ./gradlew assemble --configuration-cache
 | |
|       working-directory: .github/workflow-samples/groovy-dsl
 | |
|     - name: Check no dependency graph is generated
 | |
|       shell: bash
 | |
|       run: |
 | |
|         if [ ! -z "$(ls -A dependency-graph-reports)" ]; then
 | |
|             echo "Expected no dependency graph files to be generated"
 | |
|             ls -l dependency-graph-reports
 | |
|             exit 1
 | |
|         fi        
 |