You've already forked setup-python
							
							
				mirror of
				https://github.com/actions/setup-python.git
				synced 2025-10-31 15:16:23 +07:00 
			
		
		
		
	Support for GHES (#95)
This commit is contained in:
		
							
								
								
									
										8243
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8243
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										14
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										14
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -10,9 +10,9 @@ | |||||||
|       "integrity": "sha512-Wp4xnyokakM45Uuj4WLUxdsa8fJjKVl1fDTsPbTEcTcuu0Nb26IPQbOtjmnfaCPGcaoPOOqId8H9NapZ8gii4w==" |       "integrity": "sha512-Wp4xnyokakM45Uuj4WLUxdsa8fJjKVl1fDTsPbTEcTcuu0Nb26IPQbOtjmnfaCPGcaoPOOqId8H9NapZ8gii4w==" | ||||||
|     }, |     }, | ||||||
|     "@actions/exec": { |     "@actions/exec": { | ||||||
|       "version": "1.0.3", |       "version": "1.0.4", | ||||||
|       "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.0.3.tgz", |       "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.0.4.tgz", | ||||||
|       "integrity": "sha512-TogJGnueOmM7ntCi0ASTUj4LapRRtDfj57Ja4IhPmg2fls28uVOPbAn8N+JifaOumN2UG3oEO/Ixek2A4NcYSA==", |       "integrity": "sha512-4DPChWow9yc9W3WqEbUj8Nr86xkpyE29ZzWjXucHItclLbEW6jr80Zx4nqv18QL6KK65+cifiQZXvnqgTV6oHw==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "@actions/io": "^1.0.1" |         "@actions/io": "^1.0.1" | ||||||
| @ -34,12 +34,12 @@ | |||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|     "@actions/tool-cache": { |     "@actions/tool-cache": { | ||||||
|       "version": "1.5.2", |       "version": "1.5.5", | ||||||
|       "resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-1.5.2.tgz", |       "resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-1.5.5.tgz", | ||||||
|       "integrity": "sha512-40A1St0GEo+QvHV1YRjStEoQcKKMaip+zNXPgGHcjYXCdZ7cl1LGlwOpsVVqwk+6ue/shFTS76KC1A02mVVCQA==", |       "integrity": "sha512-y/YO37BOaXzOEHpvoGZDLCwvg6XZWQ7Ala4Np4xzrKD1r48mff+K/GAmzXMejnApU7kgqC6lL/aCKTZDCrhdmw==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "@actions/core": "^1.2.0", |         "@actions/core": "^1.2.3", | ||||||
|         "@actions/exec": "^1.0.0", |         "@actions/exec": "^1.0.0", | ||||||
|         "@actions/http-client": "^1.0.8", |         "@actions/http-client": "^1.0.8", | ||||||
|         "@actions/io": "^1.0.1", |         "@actions/io": "^1.0.1", | ||||||
|  | |||||||
| @ -28,7 +28,7 @@ | |||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "@actions/io": "^1.0.2", |     "@actions/io": "^1.0.2", | ||||||
|     "@actions/tool-cache": "^1.5.2", |     "@actions/tool-cache": "^1.5.5", | ||||||
|     "@types/jest": "^25.1.4", |     "@types/jest": "^25.1.4", | ||||||
|     "@types/node": "^12.12.31", |     "@types/node": "^12.12.31", | ||||||
|     "@types/semver": "^7.1.0", |     "@types/semver": "^7.1.0", | ||||||
|  | |||||||
| @ -4,7 +4,8 @@ import * as tc from '@actions/tool-cache'; | |||||||
| import * as exec from '@actions/exec'; | import * as exec from '@actions/exec'; | ||||||
| import {ExecOptions} from '@actions/exec/lib/interfaces'; | import {ExecOptions} from '@actions/exec/lib/interfaces'; | ||||||
|  |  | ||||||
| const AUTH_TOKEN = core.getInput('token'); | const TOKEN = core.getInput('token'); | ||||||
|  | const AUTH = !TOKEN || isGhes() ? undefined : `token ${TOKEN}`; | ||||||
| const MANIFEST_REPO_OWNER = 'actions'; | const MANIFEST_REPO_OWNER = 'actions'; | ||||||
| const MANIFEST_REPO_NAME = 'python-versions'; | const MANIFEST_REPO_NAME = 'python-versions'; | ||||||
| export const MANIFEST_URL = `https://raw.githubusercontent.com/${MANIFEST_REPO_OWNER}/${MANIFEST_REPO_NAME}/master/versions-manifest.json`; | export const MANIFEST_URL = `https://raw.githubusercontent.com/${MANIFEST_REPO_OWNER}/${MANIFEST_REPO_NAME}/master/versions-manifest.json`; | ||||||
| @ -18,7 +19,7 @@ export async function findReleaseFromManifest( | |||||||
|   const manifest: tc.IToolRelease[] = await tc.getManifestFromRepo( |   const manifest: tc.IToolRelease[] = await tc.getManifestFromRepo( | ||||||
|     MANIFEST_REPO_OWNER, |     MANIFEST_REPO_OWNER, | ||||||
|     MANIFEST_REPO_NAME, |     MANIFEST_REPO_NAME, | ||||||
|     AUTH_TOKEN |     AUTH | ||||||
|   ); |   ); | ||||||
|   return await tc.findFromManifest( |   return await tc.findFromManifest( | ||||||
|     semanticVersionSpec, |     semanticVersionSpec, | ||||||
| @ -50,7 +51,7 @@ export async function installCpythonFromRelease(release: tc.IToolRelease) { | |||||||
|   const downloadUrl = release.files[0].download_url; |   const downloadUrl = release.files[0].download_url; | ||||||
|  |  | ||||||
|   core.info(`Download from "${downloadUrl}"`); |   core.info(`Download from "${downloadUrl}"`); | ||||||
|   const pythonPath = await tc.downloadTool(downloadUrl, undefined, AUTH_TOKEN); |   const pythonPath = await tc.downloadTool(downloadUrl, undefined, AUTH); | ||||||
|   const fileName = path.basename(pythonPath, '.zip'); |   const fileName = path.basename(pythonPath, '.zip'); | ||||||
|   core.info('Extract downloaded archive'); |   core.info('Extract downloaded archive'); | ||||||
|   let pythonExtractedFolder; |   let pythonExtractedFolder; | ||||||
| @ -63,3 +64,10 @@ export async function installCpythonFromRelease(release: tc.IToolRelease) { | |||||||
|   core.info('Execute installation script'); |   core.info('Execute installation script'); | ||||||
|   await installPython(pythonExtractedFolder); |   await installPython(pythonExtractedFolder); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | function isGhes(): boolean { | ||||||
|  |   const ghUrl = new URL( | ||||||
|  |     process.env['GITHUB_SERVER_URL'] || 'https://github.com' | ||||||
|  |   ); | ||||||
|  |   return ghUrl.hostname.toUpperCase() !== 'GITHUB.COM'; | ||||||
|  | } | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 Konrad Pabjan
					Konrad Pabjan