mirror of
				https://github.com/actions/upload-artifact.git
				synced 2025-10-31 23:43:43 +00:00 
			
		
		
		
	add additional integration test for merge all behavior
This commit is contained in:
		
							parent
							
								
									90b0f8eed8
								
							
						
					
					
						commit
						53ef6987b3
					
				
							
								
								
									
										49
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										49
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							| @ -181,11 +181,45 @@ jobs: | |||||||
|     - name: Checkout |     - name: Checkout | ||||||
|       uses: actions/checkout@v4 |       uses: actions/checkout@v4 | ||||||
| 
 | 
 | ||||||
|     # Merge Artifact-A-* from previous jobs |     # Merge all artifacts from previous jobs | ||||||
|     - name: Merge |     - name: Merge all artifacts in run | ||||||
|       uses: ./merge/ |       uses: ./merge/ | ||||||
|  |       with: | ||||||
|  |         # our matrix produces artifacts with the same file, this prevents "stomping" on each other, also makes it | ||||||
|  |         # easier to identify each of the merged artifacts | ||||||
|  |         separate-directories: true | ||||||
|  |     - name: 'Download merged artifacts' | ||||||
|  |       uses: actions/download-artifact@v4 | ||||||
|       with: |       with: | ||||||
|         name: Merged-Artifacts |         name: Merged-Artifacts | ||||||
|  |         path: all-merged-artifacts | ||||||
|  |     - name: 'Check merged artifact has directories for each artifact' | ||||||
|  |       run: | | ||||||
|  |         $artifacts = @( | ||||||
|  |           "Artifact-A-ubuntu-latest", | ||||||
|  |           "Artifact-A-macos-latest", | ||||||
|  |           "Artifact-A-windows-latest", | ||||||
|  |           "Artifact-Wildcard-ubuntu-latest", | ||||||
|  |           "Artifact-Wildcard-macos-latest", | ||||||
|  |           "Artifact-Wildcard-windows-latest", | ||||||
|  |           "Multi-Path-Artifact-ubuntu-latest", | ||||||
|  |           "Multi-Path-Artifact-macos-latest", | ||||||
|  |           "Multi-Path-Artifact-windows-latest" | ||||||
|  |         ) | ||||||
|  | 
 | ||||||
|  |         foreach ($artifact in $artifacts) { | ||||||
|  |           $path = "all-merged-artifacts/$artifact" | ||||||
|  |           if (!(Test-Path $path)) { | ||||||
|  |             Write-Error "$path does not exist." | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       shell: pwsh | ||||||
|  | 
 | ||||||
|  |     # Merge Artifact-A-* from previous jobs | ||||||
|  |     - name: Merge all Artifact-A | ||||||
|  |       uses: ./merge/ | ||||||
|  |       with: | ||||||
|  |         name: Merged-Artifact-As | ||||||
|         pattern: 'Artifact-A-*' |         pattern: 'Artifact-A-*' | ||||||
|         separate-directories: true |         separate-directories: true | ||||||
| 
 | 
 | ||||||
| @ -193,15 +227,15 @@ jobs: | |||||||
|     - name: 'Download merged artifacts' |     - name: 'Download merged artifacts' | ||||||
|       uses: actions/download-artifact@v4 |       uses: actions/download-artifact@v4 | ||||||
|       with: |       with: | ||||||
|         name: Merged-Artifacts |         name: Merged-Artifact-As | ||||||
|         path: merged-artifacts |         path: merged-artifact-a | ||||||
| 
 | 
 | ||||||
|     - name: 'Verify merged artifacts' |     - name: 'Verify merged artifacts' | ||||||
|       run: | |       run: | | ||||||
|         $files = @( |         $files = @( | ||||||
|           "merged-artifacts/Artifact-A-ubuntu-latest/file1.txt", |           "merged-artifact-a/Artifact-A-ubuntu-latest/file1.txt", | ||||||
|           "merged-artifacts/Artifact-A-macos-latest/file1.txt", |           "merged-artifact-a/Artifact-A-macos-latest/file1.txt", | ||||||
|           "merged-artifacts/Artifact-A-windows-latest/file1.txt" |           "merged-artifact-a/Artifact-A-windows-latest/file1.txt" | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|         foreach ($file in $files) { |         foreach ($file in $files) { | ||||||
| @ -214,3 +248,4 @@ jobs: | |||||||
|           } |           } | ||||||
|         } |         } | ||||||
|       shell: pwsh |       shell: pwsh | ||||||
|  | 
 | ||||||
|  | |||||||
| @ -41,6 +41,8 @@ The release of upload-artifact@v4 and download-artifact@v4 are major changes to | |||||||
| 
 | 
 | ||||||
| For more information, see the [`@actions/artifact`](https://github.com/actions/toolkit/tree/main/packages/artifact) documentation. | For more information, see the [`@actions/artifact`](https://github.com/actions/toolkit/tree/main/packages/artifact) documentation. | ||||||
| 
 | 
 | ||||||
|  | There is also a new sub-action, `actions/upload-artifact/merge`. For more info, check out that action's [README](./merge/README.md). | ||||||
|  | 
 | ||||||
| ### Improvements | ### Improvements | ||||||
| 
 | 
 | ||||||
| 1. Uploads are significantly faster, upwards of 90% improvement in worst case scenarios. | 1. Uploads are significantly faster, upwards of 90% improvement in worst case scenarios. | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user