| 
									
										
										
										
											2021-07-12 21:06:03 +00:00
										 |  |  | #!/bin/sh
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-07-31 20:44:53 +00:00
										 |  |  | cacheFolderFull=$1 | 
					
						
							| 
									
										
										
										
											2021-07-12 22:46:21 +00:00
										 |  |  | branchName=$2 | 
					
						
							| 
									
										
										
										
											2021-07-31 20:44:53 +00:00
										 |  |  | libraryFolderFull=$3 | 
					
						
							| 
									
										
										
										
											2021-07-31 21:41:55 +00:00
										 |  |  | gitLFSDestinationFolder=$4 | 
					
						
							|  |  |  | purgeRemoteBuilderCache=$5 | 
					
						
							| 
									
										
										
										
											2021-07-12 21:06:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-07-31 21:19:17 +00:00
										 |  |  | cacheFolderWithBranch="$cacheFolderFull/$branchName" | 
					
						
							| 
									
										
										
										
											2021-08-01 01:04:38 +00:00
										 |  |  | lfsCacheFolder="$cacheFolderFull/$branchName/lfs" | 
					
						
							|  |  |  | libraryCacheFolder="$cacheFolderFull/$branchName/lib" | 
					
						
							| 
									
										
										
										
											2021-07-31 21:19:17 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-01 01:04:38 +00:00
										 |  |  | echo ' ' | 
					
						
							| 
									
										
										
										
											2021-07-27 22:23:02 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-01 01:04:38 +00:00
										 |  |  | echo "LFS cache for branch: $branchName" | 
					
						
							|  |  |  | mkdir -p "$lfsCacheFolder" | 
					
						
							|  |  |  | ls -lh "$lfsCacheFolder" | 
					
						
							| 
									
										
										
										
											2021-08-01 01:07:23 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | echo ' ' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-07-27 20:45:49 +00:00
										 |  |  | echo "Library cache for branch: $branchName" | 
					
						
							| 
									
										
										
										
											2021-08-01 01:04:38 +00:00
										 |  |  | mkdir -p "$libraryCacheFolder" | 
					
						
							|  |  |  | ls -lh "$libraryCacheFolder" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo ' ' | 
					
						
							| 
									
										
										
										
											2021-07-27 20:45:49 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-01 01:04:38 +00:00
										 |  |  | # if the unity git project has included the library delete it and echo a warning | 
					
						
							| 
									
										
										
										
											2021-07-27 22:40:48 +00:00
										 |  |  | if [ -d "$libraryFolderFull" ]; then | 
					
						
							| 
									
										
										
										
											2021-07-31 20:44:53 +00:00
										 |  |  |   rm -r "$libraryFolderFull" | 
					
						
							| 
									
										
										
										
											2021-08-01 01:04:38 +00:00
										 |  |  |   echo "!Warning!: The Unity library was included in the git repository (this isn't usually a good practice)" | 
					
						
							| 
									
										
										
										
											2021-07-27 20:45:49 +00:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-07-12 21:06:03 +00:00
										 |  |  | echo "Checking cache" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-07-12 22:36:40 +00:00
										 |  |  | # Restore library cache | 
					
						
							| 
									
										
										
										
											2021-08-01 15:49:21 +00:00
										 |  |  | latestLibraryCacheFile=$(ls -t "$libraryCacheFolder" | grep .zip$ | head -1) | 
					
						
							| 
									
										
										
										
											2021-07-31 21:19:17 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-01 01:04:38 +00:00
										 |  |  | if [ ! -z "$latestLibraryCacheFile" ]; then | 
					
						
							|  |  |  |   echo "Library cache exists from build $latestLibraryCacheFile from $branchName" | 
					
						
							| 
									
										
										
										
											2021-07-12 21:06:03 +00:00
										 |  |  |   echo 'Creating empty Library folder for cache' | 
					
						
							| 
									
										
										
										
											2021-08-01 18:02:43 +00:00
										 |  |  |   mkdir -p "$libraryFolderFull" | 
					
						
							| 
									
										
										
										
											2021-08-01 01:04:38 +00:00
										 |  |  |   unzip -q "$libraryCacheFolder/$latestLibraryCacheFile" -d "$libraryFolderFull" | 
					
						
							| 
									
										
										
										
											2021-08-01 18:13:26 +00:00
										 |  |  |   echo 'Unzipped library' | 
					
						
							| 
									
										
										
										
											2021-07-12 21:06:03 +00:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-01 20:55:27 +00:00
										 |  |  | echo "Checking cache for a cache match based on the combined large files hash ($lfsCacheFolder/$LFS_ASSETS_HASH.zip)" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-01 21:05:18 +00:00
										 |  |  | if [ -v "$LFS_ASSETS_HASH" && -f "$lfsCacheFolder/$LFS_ASSETS_HASH" ]; then | 
					
						
							| 
									
										
										
										
											2021-08-01 20:31:59 +00:00
										 |  |  |   echo "Match found: using large file hash match $LFS_ASSETS_HASH.zip" | 
					
						
							| 
									
										
										
										
											2021-08-01 21:02:06 +00:00
										 |  |  |   latestLFSCacheFile="$LFS_ASSETS_HASH" | 
					
						
							| 
									
										
										
										
											2021-08-01 20:31:59 +00:00
										 |  |  | else | 
					
						
							|  |  |  |   latestLFSCacheFile=$(ls -t "$lfsCacheFolder" | grep .zip$ | head -1) | 
					
						
							|  |  |  |   echo "Match not found: using latest large file cache $latestLFSCacheFile" | 
					
						
							| 
									
										
										
										
											2021-08-01 01:04:38 +00:00
										 |  |  | fi | 
					
						
							| 
									
										
										
										
											2021-07-31 21:41:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-01 20:31:59 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | if [ ! -f "$lfsCacheFolder/$latestLFSCacheFile" ]; then | 
					
						
							| 
									
										
										
										
											2021-08-01 01:04:38 +00:00
										 |  |  |   echo "LFS cache exists from build $latestLFSCacheFile from $branchName" | 
					
						
							| 
									
										
										
										
											2021-08-01 20:01:29 +00:00
										 |  |  |   echo "$gitLFSDestinationFolder" | 
					
						
							| 
									
										
										
										
											2021-08-01 01:04:38 +00:00
										 |  |  |   rm -r "$gitLFSDestinationFolder" | 
					
						
							| 
									
										
										
										
											2021-08-01 20:01:29 +00:00
										 |  |  |   echo "$gitLFSDestinationFolder" | 
					
						
							| 
									
										
										
										
											2021-08-01 01:04:38 +00:00
										 |  |  |   mkdir -p "$gitLFSDestinationFolder" | 
					
						
							| 
									
										
										
										
											2021-08-01 20:01:29 +00:00
										 |  |  |   echo "$lfsCacheFolder/$latestLFSCacheFile" | 
					
						
							|  |  |  |   echo "$gitLFSDestinationFolder" | 
					
						
							| 
									
										
										
										
											2021-08-01 18:05:55 +00:00
										 |  |  |   unzip -q "$lfsCacheFolder/$latestLFSCacheFile" -d "$gitLFSDestinationFolder" | 
					
						
							| 
									
										
										
										
											2021-07-31 21:41:55 +00:00
										 |  |  | fi | 
					
						
							| 
									
										
										
										
											2021-07-12 22:36:40 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-01 01:14:42 +00:00
										 |  |  | echo ' ' | 
					
						
							| 
									
										
										
										
											2021-08-01 16:22:11 +00:00
										 |  |  | echo 'Size of LFS cache folder for this branch' | 
					
						
							| 
									
										
										
										
											2021-08-01 01:14:42 +00:00
										 |  |  | du -sch "$gitLFSDestinationFolder" | 
					
						
							| 
									
										
										
										
											2021-08-01 16:22:11 +00:00
										 |  |  | echo 'Size of Library cache folder for this branch' | 
					
						
							| 
									
										
										
										
											2021-08-01 18:13:26 +00:00
										 |  |  | du -sch "$latestLibraryCacheFolder" | 
					
						
							| 
									
										
										
										
											2021-08-01 01:14:42 +00:00
										 |  |  | echo ' ' | 
					
						
							| 
									
										
										
										
											2021-08-01 18:13:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-01 16:22:11 +00:00
										 |  |  | echo 'Size of cache folder for this branch' | 
					
						
							| 
									
										
										
										
											2021-07-31 22:27:59 +00:00
										 |  |  | du -sch "$cacheFolderWithBranch" | 
					
						
							| 
									
										
										
										
											2021-08-01 01:14:42 +00:00
										 |  |  | echo ' ' | 
					
						
							| 
									
										
										
										
											2021-08-01 18:13:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-01 16:22:11 +00:00
										 |  |  | echo 'Size of LFS cache folder' | 
					
						
							| 
									
										
										
										
											2021-07-31 22:27:59 +00:00
										 |  |  | du -sch "$cacheFolderFull" | 
					
						
							| 
									
										
										
										
											2021-08-01 01:14:42 +00:00
										 |  |  | echo ' ' | 
					
						
							| 
									
										
										
										
											2021-07-31 22:27:59 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-07-12 21:06:03 +00:00
										 |  |  | # purge cache | 
					
						
							|  |  |  | if [ "$purgeRemoteBuilderCache" == "true" ]; then | 
					
						
							| 
									
										
										
										
											2021-08-01 16:22:11 +00:00
										 |  |  |   echo "purging the entire cache" | 
					
						
							| 
									
										
										
										
											2021-07-31 21:48:02 +00:00
										 |  |  |   rm -r "$cacheFolderFull" | 
					
						
							| 
									
										
										
										
											2021-08-01 16:22:11 +00:00
										 |  |  |   echo ' ' | 
					
						
							| 
									
										
										
										
											2021-07-12 21:06:03 +00:00
										 |  |  | fi | 
					
						
							| 
									
										
										
										
											2021-08-01 01:04:38 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | git lfs pull | 
					
						
							| 
									
										
										
										
											2021-08-01 18:14:17 +00:00
										 |  |  | zip -r "$LFS_ASSETS_HASH" -d "$gitLFSDestinationFolder" | 
					
						
							|  |  |  | cp "$LFS_ASSETS_HASH" "$lfsCacheFolder" | 
					
						
							| 
									
										
										
										
											2021-08-01 01:07:23 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-01 01:14:42 +00:00
										 |  |  | echo ' ' |