mirror of
				https://github.com/chickensoft-games/setup-godot.git
				synced 2025-10-31 09:03:56 +00:00 
			
		
		
		
	Resolving issues with Self-Hosted GitHub Runners and local caches (#71)
* Removing downloaded ZIP before downloading another version * Removing existing aliases before creating a new alias * Removing existing installations before extracting downloaded ZIP * Removing existing installations recursively * Remove bin directory before creating aliases * Recreate bin folder after clearing * Fixed comments
This commit is contained in:
		
							parent
							
								
									1af6893043
								
							
						
					
					
						commit
						d3fbddfbaf
					
				
							
								
								
									
										17
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -125,15 +125,24 @@ function run(platform) { | ||||
|                 core.info(`🙃 Previous Godot download not found in cache`); | ||||
|                 core.endGroup(); | ||||
|                 core.startGroup(`📥 Downloading Godot to ${godotDownloadPath}...`); | ||||
|                 // If the ZIP file already exists locally, delete it before downloading
 | ||||
|                 if (fs.existsSync(godotDownloadPath)) | ||||
|                     fs.rmSync(godotDownloadPath); | ||||
|                 const godotDownloadedPath = yield toolsCache.downloadTool(godotUrl, godotDownloadPath); | ||||
|                 core.info(`✅ Godot downloaded to ${godotDownloadedPath}`); | ||||
|                 core.endGroup(); | ||||
|                 core.startGroup(`📥 Downloading Export Templates to ${exportTemplateDownloadPath}...`); | ||||
|                 // If the ZIP file already exists locally, delete it before downloading
 | ||||
|                 if (fs.existsSync(exportTemplateDownloadPath)) | ||||
|                     fs.rmSync(exportTemplateDownloadPath); | ||||
|                 const templateDownloadedPath = yield toolsCache.downloadTool(exportTemplateUrl, exportTemplateDownloadPath); | ||||
|                 core.info(`✅ Export Templates downloaded to ${templateDownloadedPath}`); | ||||
|                 core.endGroup(); | ||||
|                 // Extract Godot
 | ||||
|                 core.startGroup(`📦 Extracting Godot to ${installationDir}...`); | ||||
|                 // If the godot installation folder already exists, remove it before extracting the ZIP file. This will "uninstall" other installations (e.g. on version changes).
 | ||||
|                 if (fs.existsSync(installationDir)) | ||||
|                     fs.rmdirSync(installationDir, { recursive: true }); | ||||
|                 const godotExtractedPath = yield toolsCache.extractZip(godotDownloadedPath, installationDir); | ||||
|                 core.info(`✅ Godot extracted to ${godotExtractedPath}`); | ||||
|                 core.endGroup(); | ||||
| @ -143,6 +152,9 @@ function run(platform) { | ||||
|                 core.info(`✅ Files shown`); | ||||
|                 core.endGroup(); | ||||
|                 core.startGroup(`📦 Extracting Export Templates to ${exportTemplatePath}...`); | ||||
|                 // If the export template folder already exists, remove it before extracting the ZIP file. This will "uninstall" other installations (e.g. on version changes).
 | ||||
|                 if (fs.existsSync(exportTemplatePath)) | ||||
|                     fs.rmdirSync(exportTemplatePath, { recursive: true }); | ||||
|                 const exportTemplateExtractedPath = yield toolsCache.extractZip(templateDownloadedPath, path_1.default.dirname(exportTemplatePath)); | ||||
|                 core.info(`✅ Export Templates extracted to ${exportTemplateExtractedPath}`); | ||||
|                 fs.renameSync(path_1.default.join(exportTemplateExtractedPath, 'templates'), exportTemplatePath); | ||||
| @ -201,6 +213,11 @@ function run(platform) { | ||||
|             // Create symlink to Godot executable
 | ||||
|             const godotAlias = path_1.default.join(binDir, 'godot'); | ||||
|             core.startGroup(`🔗 Creating symlinks to executables...`); | ||||
|             // If an alias already exists, clear the bin folder before creating the new alias
 | ||||
|             if (fs.existsSync(binDir)) { | ||||
|                 fs.rmSync(binDir, { recursive: true, force: true }); | ||||
|                 fs.mkdirSync(binDir, { recursive: true }); | ||||
|             } | ||||
|             fs.linkSync(godotExecutable, godotAlias); | ||||
|             core.info(`✅ Symlink to Godot created`); | ||||
|             const godotSharpDirAlias = path_1.default.join(binDir, 'GodotSharp'); | ||||
|  | ||||
							
								
								
									
										2
									
								
								dist/index.js.map
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/index.js.map
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										26
									
								
								src/main.ts
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								src/main.ts
									
									
									
									
									
								
							| @ -120,6 +120,10 @@ async function run(platform: Platform): Promise<void> { | ||||
|       core.endGroup() | ||||
| 
 | ||||
|       core.startGroup(`📥 Downloading Godot to ${godotDownloadPath}...`) | ||||
| 
 | ||||
|       // If the ZIP file already exists locally, delete it before downloading
 | ||||
|       if (fs.existsSync(godotDownloadPath)) fs.rmSync(godotDownloadPath) | ||||
| 
 | ||||
|       const godotDownloadedPath = await toolsCache.downloadTool( | ||||
|         godotUrl, | ||||
|         godotDownloadPath | ||||
| @ -130,6 +134,11 @@ async function run(platform: Platform): Promise<void> { | ||||
|       core.startGroup( | ||||
|         `📥 Downloading Export Templates to ${exportTemplateDownloadPath}...` | ||||
|       ) | ||||
| 
 | ||||
|       // If the ZIP file already exists locally, delete it before downloading
 | ||||
|       if (fs.existsSync(exportTemplateDownloadPath)) | ||||
|         fs.rmSync(exportTemplateDownloadPath) | ||||
| 
 | ||||
|       const templateDownloadedPath = await toolsCache.downloadTool( | ||||
|         exportTemplateUrl, | ||||
|         exportTemplateDownloadPath | ||||
| @ -139,6 +148,11 @@ async function run(platform: Platform): Promise<void> { | ||||
| 
 | ||||
|       // Extract Godot
 | ||||
|       core.startGroup(`📦 Extracting Godot to ${installationDir}...`) | ||||
| 
 | ||||
|       // If the godot installation folder already exists, remove it before extracting the ZIP file. This will "uninstall" other installations (e.g. on version changes).
 | ||||
|       if (fs.existsSync(installationDir)) | ||||
|         fs.rmdirSync(installationDir, {recursive: true}) | ||||
| 
 | ||||
|       const godotExtractedPath = await toolsCache.extractZip( | ||||
|         godotDownloadedPath, | ||||
|         installationDir | ||||
| @ -159,6 +173,11 @@ async function run(platform: Platform): Promise<void> { | ||||
|       core.startGroup( | ||||
|         `📦 Extracting Export Templates to ${exportTemplatePath}...` | ||||
|       ) | ||||
| 
 | ||||
|       // If the export template folder already exists, remove it before extracting the ZIP file. This will "uninstall" other installations (e.g. on version changes).
 | ||||
|       if (fs.existsSync(exportTemplatePath)) | ||||
|         fs.rmdirSync(exportTemplatePath, {recursive: true}) | ||||
| 
 | ||||
|       const exportTemplateExtractedPath = await toolsCache.extractZip( | ||||
|         templateDownloadedPath, | ||||
|         path.dirname(exportTemplatePath) | ||||
| @ -250,6 +269,13 @@ async function run(platform: Platform): Promise<void> { | ||||
|     // Create symlink to Godot executable
 | ||||
|     const godotAlias = path.join(binDir, 'godot') | ||||
|     core.startGroup(`🔗 Creating symlinks to executables...`) | ||||
| 
 | ||||
|     // If an alias already exists, clear the bin folder before creating the new alias
 | ||||
|     if (fs.existsSync(binDir)) { | ||||
|       fs.rmSync(binDir, {recursive: true, force: true}) | ||||
|       fs.mkdirSync(binDir, {recursive: true}) | ||||
|     } | ||||
| 
 | ||||
|     fs.linkSync(godotExecutable, godotAlias) | ||||
|     core.info(`✅ Symlink to Godot created`) | ||||
|     const godotSharpDirAlias = path.join(binDir, 'GodotSharp') | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user