mirror of
				https://gitea.com/actions/upload-artifact.git
				synced 2025-10-30 08:38:15 +07:00 
			
		
		
		
	Correctly check symlinks (#103)
This commit is contained in:
		
							parent
							
								
									589ca5fbdd
								
							
						
					
					
						commit
						5f948bc1f0
					
				
							
								
								
									
										6
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							| @ -6225,6 +6225,8 @@ const path = __importStar(__webpack_require__(622)); | ||||
| const core_1 = __webpack_require__(470); | ||||
| const fs_1 = __webpack_require__(747); | ||||
| const path_1 = __webpack_require__(622); | ||||
| const util_1 = __webpack_require__(669); | ||||
| const stats = util_1.promisify(fs_1.stat); | ||||
| function getDefaultGlobOptions() { | ||||
|     return { | ||||
|         followSymbolicLinks: true, | ||||
| @ -6293,7 +6295,9 @@ function findFilesToUpload(searchPath, globOptions) { | ||||
|           directories so filter any directories out from the raw search results | ||||
|         */ | ||||
|         for (const searchResult of rawSearchResults) { | ||||
|             if (!fs_1.lstatSync(searchResult).isDirectory()) { | ||||
|             const fileStats = yield stats(searchResult); | ||||
|             // isDirectory() returns false for symlinks if using fs.lstat(), make sure to use fs.stat() instead
 | ||||
|             if (!fileStats.isDirectory()) { | ||||
|                 core_1.debug(`File:${searchResult} was found using the provided searchPath`); | ||||
|                 searchResults.push(searchResult); | ||||
|             } | ||||
|  | ||||
| @ -1,8 +1,10 @@ | ||||
| import * as glob from '@actions/glob' | ||||
| import * as path from 'path' | ||||
| import {debug, info} from '@actions/core' | ||||
| import {lstatSync} from 'fs' | ||||
| import {stat} from 'fs' | ||||
| import {dirname} from 'path' | ||||
| import {promisify} from 'util' | ||||
| const stats = promisify(stat) | ||||
| 
 | ||||
| export interface SearchResult { | ||||
|   filesToUpload: string[] | ||||
| @ -92,7 +94,9 @@ export async function findFilesToUpload( | ||||
|     directories so filter any directories out from the raw search results | ||||
|   */ | ||||
|   for (const searchResult of rawSearchResults) { | ||||
|     if (!lstatSync(searchResult).isDirectory()) { | ||||
|     const fileStats = await stats(searchResult) | ||||
|     // isDirectory() returns false for symlinks if using fs.lstat(), make sure to use fs.stat() instead
 | ||||
|     if (!fileStats.isDirectory()) { | ||||
|       debug(`File:${searchResult} was found using the provided searchPath`) | ||||
|       searchResults.push(searchResult) | ||||
|     } else { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user