mirror of
				https://kkgithub.com/actions/setup-python.git
				synced 2025-10-30 10:11:52 +08:00 
			
		
		
		
	Compare commits
	
		
			5 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| a26af69be9 | |||
| 30eafe9548 | |||
| 5d95bc16d4 | |||
| 6ed2c67c8a | |||
| e348410e00 | 
							
								
								
									
										4
									
								
								.github/workflows/e2e-cache.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/e2e-cache.yml
									
									
									
									
										vendored
									
									
								
							| @ -78,8 +78,12 @@ jobs: | ||||
|             python-version: pypy-3.11-v7.x | ||||
|           - os: ubuntu-22.04 | ||||
|             python-version: pypy-3.11-v7.x | ||||
|           - os: ubuntu-22.04-arm | ||||
|             python-version: pypy-3.10-v7.x | ||||
|           - os: ubuntu-22.04-arm | ||||
|             python-version: pypy-3.11-v7.x | ||||
|           - os: ubuntu-22.04-arm | ||||
|             python-version: pypy-3.10-v7.x | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - name: Setup Python | ||||
|  | ||||
							
								
								
									
										1
									
								
								.github/workflows/e2e-tests.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.github/workflows/e2e-tests.yml
									
									
									
									
										vendored
									
									
								
							| @ -19,7 +19,6 @@ jobs: | ||||
|       matrix: | ||||
|         operating-system: | ||||
|           [ | ||||
|             ubuntu-20.04, | ||||
|             windows-latest, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/workflows/test-graalpy.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/test-graalpy.yml
									
									
									
									
										vendored
									
									
								
							| @ -21,7 +21,6 @@ jobs: | ||||
|         os: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             ubuntu-20.04, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             ubuntu-24.04-arm, | ||||
| @ -77,7 +76,6 @@ jobs: | ||||
|         os: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             ubuntu-20.04, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             ubuntu-24.04-arm, | ||||
|  | ||||
							
								
								
									
										4
									
								
								.github/workflows/test-pypy.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/test-pypy.yml
									
									
									
									
										vendored
									
									
								
							| @ -24,7 +24,6 @@ jobs: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-20.04, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             ubuntu-24.04-arm, | ||||
| @ -142,7 +141,6 @@ jobs: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-20.04, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             ubuntu-24.04-arm, | ||||
| @ -177,7 +175,6 @@ jobs: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-20.04, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             ubuntu-24.04-arm, | ||||
| @ -220,7 +217,6 @@ jobs: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-20.04, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             ubuntu-24.04-arm, | ||||
|  | ||||
| @ -24,7 +24,6 @@ jobs: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-20.04, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             macos-13, | ||||
| @ -62,7 +61,6 @@ jobs: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-20.04, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             macos-13, | ||||
| @ -103,7 +101,6 @@ jobs: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-20.04, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             macos-13, | ||||
| @ -142,7 +139,6 @@ jobs: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-20.04, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             macos-13, | ||||
| @ -184,7 +180,6 @@ jobs: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-20.04, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             macos-13, | ||||
| @ -226,7 +221,6 @@ jobs: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-20.04, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             macos-13, | ||||
| @ -258,7 +252,6 @@ jobs: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-20.04, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             macos-13, | ||||
| @ -371,7 +364,6 @@ jobs: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-20.04, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             macos-13, | ||||
| @ -461,7 +453,6 @@ jobs: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-20.04, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             macos-13, | ||||
|  | ||||
							
								
								
									
										8
									
								
								.github/workflows/test-python.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.github/workflows/test-python.yml
									
									
									
									
										vendored
									
									
								
							| @ -24,7 +24,6 @@ jobs: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-20.04, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             macos-13, | ||||
| @ -69,7 +68,6 @@ jobs: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-20.04, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             macos-13, | ||||
| @ -117,7 +115,6 @@ jobs: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-20.04, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             macos-13, | ||||
| @ -163,7 +160,6 @@ jobs: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-20.04, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             macos-13, | ||||
| @ -214,7 +210,6 @@ jobs: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-20.04, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             macos-13, | ||||
| @ -265,7 +260,6 @@ jobs: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-20.04, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             macos-13, | ||||
| @ -300,7 +294,6 @@ jobs: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-20.04, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             macos-13, | ||||
| @ -419,7 +412,6 @@ jobs: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-20.04, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             macos-13, | ||||
|  | ||||
							
								
								
									
										26
									
								
								.licenses/npm/lru-cache.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										26
									
								
								.licenses/npm/lru-cache.dep.yml
									
									
									
										generated
									
									
									
								
							| @ -1,26 +0,0 @@ | ||||
| --- | ||||
| name: lru-cache | ||||
| version: 6.0.0 | ||||
| type: npm | ||||
| summary: A cache object that deletes the least-recently-used items. | ||||
| homepage:  | ||||
| license: isc | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     The ISC License | ||||
|  | ||||
|     Copyright (c) Isaac Z. Schlueter and Contributors | ||||
|  | ||||
|     Permission to use, copy, modify, and/or distribute this software for any | ||||
|     purpose with or without fee is hereby granted, provided that the above | ||||
|     copyright notice and this permission notice appear in all copies. | ||||
|  | ||||
|     THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||||
|     WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||||
|     MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||||
|     ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||||
|     WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||||
|     ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR | ||||
|     IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||||
| notices: [] | ||||
| @ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: semver | ||||
| version: 7.6.0 | ||||
| version: 7.7.1 | ||||
| type: npm | ||||
| summary: The semantic version parser used by npm. | ||||
| homepage: | ||||
							
								
								
									
										26
									
								
								.licenses/npm/yallist.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										26
									
								
								.licenses/npm/yallist.dep.yml
									
									
									
										generated
									
									
									
								
							| @ -1,26 +0,0 @@ | ||||
| --- | ||||
| name: yallist | ||||
| version: 4.0.0 | ||||
| type: npm | ||||
| summary: Yet Another Linked List | ||||
| homepage:  | ||||
| license: isc | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     The ISC License | ||||
|  | ||||
|     Copyright (c) Isaac Z. Schlueter and Contributors | ||||
|  | ||||
|     Permission to use, copy, modify, and/or distribute this software for any | ||||
|     purpose with or without fee is hereby granted, provided that the above | ||||
|     copyright notice and this permission notice appear in all copies. | ||||
|  | ||||
|     THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||||
|     WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||||
|     MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||||
|     ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||||
|     WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||||
|     ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR | ||||
|     IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||||
| notices: [] | ||||
| @ -8,10 +8,29 @@ import * as tc from '@actions/tool-cache'; | ||||
|  | ||||
| jest.mock('@actions/http-client'); | ||||
| jest.mock('@actions/tool-cache'); | ||||
|  | ||||
| const mockManifest = [{version: '1.0.0'}]; | ||||
| jest.mock('@actions/tool-cache', () => ({ | ||||
|   getManifestFromRepo: jest.fn() | ||||
| })); | ||||
| const mockManifest = [ | ||||
|   { | ||||
|     version: '1.0.0', | ||||
|     stable: true, | ||||
|     files: [ | ||||
|       { | ||||
|         filename: 'tool-v1.0.0-linux-x64.tar.gz', | ||||
|         platform: 'linux', | ||||
|         arch: 'x64', | ||||
|         download_url: 'https://example.com/tool-v1.0.0-linux-x64.tar.gz' | ||||
|       } | ||||
|     ] | ||||
|   } | ||||
| ]; | ||||
|  | ||||
| describe('getManifest', () => { | ||||
|   beforeEach(() => { | ||||
|     jest.resetAllMocks(); | ||||
|   }); | ||||
|  | ||||
|   it('should return manifest from repo', async () => { | ||||
|     (tc.getManifestFromRepo as jest.Mock).mockResolvedValue(mockManifest); | ||||
|     const manifest = await getManifest(); | ||||
|  | ||||
							
								
								
									
										961
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										961
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										169
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										169
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -17,12 +17,12 @@ | ||||
|         "@actions/io": "^1.0.2", | ||||
|         "@actions/tool-cache": "^2.0.1", | ||||
|         "@iarna/toml": "^3.0.0", | ||||
|         "semver": "^7.6.0" | ||||
|         "semver": "^7.7.1" | ||||
|       }, | ||||
|       "devDependencies": { | ||||
|         "@types/jest": "^29.5.12", | ||||
|         "@types/node": "^20.11.25", | ||||
|         "@types/semver": "^7.5.8", | ||||
|         "@types/semver": "^7.7.0", | ||||
|         "@typescript-eslint/eslint-plugin": "^5.54.0", | ||||
|         "@typescript-eslint/parser": "^5.54.0", | ||||
|         "@vercel/ncc": "^0.38.3", | ||||
| @ -32,8 +32,8 @@ | ||||
|         "eslint-plugin-node": "^11.1.0", | ||||
|         "jest": "^29.7.0", | ||||
|         "jest-circus": "^29.7.0", | ||||
|         "prettier": "^2.8.4", | ||||
|         "ts-jest": "^29.1.2", | ||||
|         "prettier": "^3.5.3", | ||||
|         "ts-jest": "^29.3.2", | ||||
|         "typescript": "^5.4.2" | ||||
|       } | ||||
|     }, | ||||
| @ -1620,10 +1620,11 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@types/semver": { | ||||
|       "version": "7.5.8", | ||||
|       "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", | ||||
|       "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", | ||||
|       "dev": true | ||||
|       "version": "7.7.0", | ||||
|       "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.0.tgz", | ||||
|       "integrity": "sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==", | ||||
|       "dev": true, | ||||
|       "license": "MIT" | ||||
|     }, | ||||
|     "node_modules/@types/stack-utils": { | ||||
|       "version": "2.0.3", | ||||
| @ -1985,6 +1986,13 @@ | ||||
|         "node": ">=8" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/async": { | ||||
|       "version": "3.2.6", | ||||
|       "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", | ||||
|       "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", | ||||
|       "dev": true, | ||||
|       "license": "MIT" | ||||
|     }, | ||||
|     "node_modules/asynckit": { | ||||
|       "version": "0.4.0", | ||||
|       "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", | ||||
| @ -2476,6 +2484,22 @@ | ||||
|         "node": ">=6.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/ejs": { | ||||
|       "version": "3.1.10", | ||||
|       "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", | ||||
|       "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", | ||||
|       "dev": true, | ||||
|       "license": "Apache-2.0", | ||||
|       "dependencies": { | ||||
|         "jake": "^10.8.5" | ||||
|       }, | ||||
|       "bin": { | ||||
|         "ejs": "bin/cli.js" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">=0.10.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/electron-to-chromium": { | ||||
|       "version": "1.4.587", | ||||
|       "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.587.tgz", | ||||
| @ -2974,6 +2998,39 @@ | ||||
|         "node": "^10.12.0 || >=12.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/filelist": { | ||||
|       "version": "1.0.4", | ||||
|       "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", | ||||
|       "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", | ||||
|       "dev": true, | ||||
|       "license": "Apache-2.0", | ||||
|       "dependencies": { | ||||
|         "minimatch": "^5.0.1" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/filelist/node_modules/brace-expansion": { | ||||
|       "version": "2.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", | ||||
|       "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", | ||||
|       "dev": true, | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "balanced-match": "^1.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/filelist/node_modules/minimatch": { | ||||
|       "version": "5.1.6", | ||||
|       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", | ||||
|       "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", | ||||
|       "dev": true, | ||||
|       "license": "ISC", | ||||
|       "dependencies": { | ||||
|         "brace-expansion": "^2.0.1" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">=10" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/fill-range": { | ||||
|       "version": "7.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", | ||||
| @ -3446,6 +3503,25 @@ | ||||
|         "node": ">=8" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/jake": { | ||||
|       "version": "10.9.2", | ||||
|       "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", | ||||
|       "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", | ||||
|       "dev": true, | ||||
|       "license": "Apache-2.0", | ||||
|       "dependencies": { | ||||
|         "async": "^3.2.3", | ||||
|         "chalk": "^4.0.2", | ||||
|         "filelist": "^1.0.4", | ||||
|         "minimatch": "^3.1.2" | ||||
|       }, | ||||
|       "bin": { | ||||
|         "jake": "bin/cli.js" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">=10" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/jest": { | ||||
|       "version": "29.7.0", | ||||
|       "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", | ||||
| @ -4569,15 +4645,16 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/prettier": { | ||||
|       "version": "2.8.8", | ||||
|       "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", | ||||
|       "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", | ||||
|       "version": "3.5.3", | ||||
|       "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", | ||||
|       "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", | ||||
|       "dev": true, | ||||
|       "license": "MIT", | ||||
|       "bin": { | ||||
|         "prettier": "bin-prettier.js" | ||||
|         "prettier": "bin/prettier.cjs" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">=10.13.0" | ||||
|         "node": ">=14" | ||||
|       }, | ||||
|       "funding": { | ||||
|         "url": "https://github.com/prettier/prettier?sponsor=1" | ||||
| @ -4812,12 +4889,10 @@ | ||||
|       "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" | ||||
|     }, | ||||
|     "node_modules/semver": { | ||||
|       "version": "7.6.0", | ||||
|       "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", | ||||
|       "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", | ||||
|       "dependencies": { | ||||
|         "lru-cache": "^6.0.0" | ||||
|       }, | ||||
|       "version": "7.7.1", | ||||
|       "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", | ||||
|       "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", | ||||
|       "license": "ISC", | ||||
|       "bin": { | ||||
|         "semver": "bin/semver.js" | ||||
|       }, | ||||
| @ -4825,22 +4900,6 @@ | ||||
|         "node": ">=10" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/semver/node_modules/lru-cache": { | ||||
|       "version": "6.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", | ||||
|       "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", | ||||
|       "dependencies": { | ||||
|         "yallist": "^4.0.0" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">=10" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/semver/node_modules/yallist": { | ||||
|       "version": "4.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", | ||||
|       "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" | ||||
|     }, | ||||
|     "node_modules/shebang-command": { | ||||
|       "version": "2.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", | ||||
| @ -5066,28 +5125,32 @@ | ||||
|       "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" | ||||
|     }, | ||||
|     "node_modules/ts-jest": { | ||||
|       "version": "29.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.2.tgz", | ||||
|       "integrity": "sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==", | ||||
|       "version": "29.3.2", | ||||
|       "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.3.2.tgz", | ||||
|       "integrity": "sha512-bJJkrWc6PjFVz5g2DGCNUo8z7oFEYaz1xP1NpeDU7KNLMWPpEyV8Chbpkn8xjzgRDpQhnGMyvyldoL7h8JXyug==", | ||||
|       "dev": true, | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "bs-logger": "0.x", | ||||
|         "fast-json-stable-stringify": "2.x", | ||||
|         "bs-logger": "^0.2.6", | ||||
|         "ejs": "^3.1.10", | ||||
|         "fast-json-stable-stringify": "^2.1.0", | ||||
|         "jest-util": "^29.0.0", | ||||
|         "json5": "^2.2.3", | ||||
|         "lodash.memoize": "4.x", | ||||
|         "make-error": "1.x", | ||||
|         "semver": "^7.5.3", | ||||
|         "yargs-parser": "^21.0.1" | ||||
|         "lodash.memoize": "^4.1.2", | ||||
|         "make-error": "^1.3.6", | ||||
|         "semver": "^7.7.1", | ||||
|         "type-fest": "^4.39.1", | ||||
|         "yargs-parser": "^21.1.1" | ||||
|       }, | ||||
|       "bin": { | ||||
|         "ts-jest": "cli.js" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": "^16.10.0 || ^18.0.0 || >=20.0.0" | ||||
|         "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" | ||||
|       }, | ||||
|       "peerDependencies": { | ||||
|         "@babel/core": ">=7.0.0-beta.0 <8", | ||||
|         "@jest/transform": "^29.0.0", | ||||
|         "@jest/types": "^29.0.0", | ||||
|         "babel-jest": "^29.0.0", | ||||
|         "jest": "^29.0.0", | ||||
| @ -5097,6 +5160,9 @@ | ||||
|         "@babel/core": { | ||||
|           "optional": true | ||||
|         }, | ||||
|         "@jest/transform": { | ||||
|           "optional": true | ||||
|         }, | ||||
|         "@jest/types": { | ||||
|           "optional": true | ||||
|         }, | ||||
| @ -5108,6 +5174,19 @@ | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/ts-jest/node_modules/type-fest": { | ||||
|       "version": "4.40.0", | ||||
|       "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.40.0.tgz", | ||||
|       "integrity": "sha512-ABHZ2/tS2JkvH1PEjxFDTUWC8dB5OsIGZP4IFLhR293GqT5Y5qB1WwL2kMPYhQW9DVgVD8Hd7I8gjwPIf5GFkw==", | ||||
|       "dev": true, | ||||
|       "license": "(MIT OR CC0-1.0)", | ||||
|       "engines": { | ||||
|         "node": ">=16" | ||||
|       }, | ||||
|       "funding": { | ||||
|         "url": "https://github.com/sponsors/sindresorhus" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/tslib": { | ||||
|       "version": "2.6.2", | ||||
|       "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", | ||||
|  | ||||
| @ -33,12 +33,12 @@ | ||||
|     "@actions/io": "^1.0.2", | ||||
|     "@actions/tool-cache": "^2.0.1", | ||||
|     "@iarna/toml": "^3.0.0", | ||||
|     "semver": "^7.6.0" | ||||
|     "semver": "^7.7.1" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@types/jest": "^29.5.12", | ||||
|     "@types/node": "^20.11.25", | ||||
|     "@types/semver": "^7.5.8", | ||||
|     "@types/semver": "^7.7.0", | ||||
|     "@typescript-eslint/eslint-plugin": "^5.54.0", | ||||
|     "@typescript-eslint/parser": "^5.54.0", | ||||
|     "@vercel/ncc": "^0.38.3", | ||||
| @ -48,8 +48,8 @@ | ||||
|     "eslint-plugin-node": "^11.1.0", | ||||
|     "jest": "^29.7.0", | ||||
|     "jest-circus": "^29.7.0", | ||||
|     "prettier": "^2.8.4", | ||||
|     "ts-jest": "^29.1.2", | ||||
|     "prettier": "^3.5.3", | ||||
|     "ts-jest": "^29.3.2", | ||||
|     "typescript": "^5.4.2" | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -5,6 +5,7 @@ import * as exec from '@actions/exec'; | ||||
| import * as httpm from '@actions/http-client'; | ||||
| import {ExecOptions} from '@actions/exec/lib/interfaces'; | ||||
| import {IS_WINDOWS, IS_LINUX, getDownloadFileName} from './utils'; | ||||
| import {IToolRelease} from '@actions/tool-cache'; | ||||
|  | ||||
| const TOKEN = core.getInput('token'); | ||||
| const AUTH = !TOKEN ? undefined : `token ${TOKEN}`; | ||||
| @ -31,14 +32,41 @@ export async function findReleaseFromManifest( | ||||
|  | ||||
|   return foundRelease; | ||||
| } | ||||
|  | ||||
| function isIToolRelease(obj: any): obj is IToolRelease { | ||||
|   return ( | ||||
|     typeof obj === 'object' && | ||||
|     obj !== null && | ||||
|     typeof obj.version === 'string' && | ||||
|     typeof obj.stable === 'boolean' && | ||||
|     Array.isArray(obj.files) && | ||||
|     obj.files.every( | ||||
|       (file: any) => | ||||
|         typeof file.filename === 'string' && | ||||
|         typeof file.platform === 'string' && | ||||
|         typeof file.arch === 'string' && | ||||
|         typeof file.download_url === 'string' | ||||
|     ) | ||||
|   ); | ||||
| } | ||||
| export async function getManifest(): Promise<tc.IToolRelease[]> { | ||||
|   try { | ||||
|     return await getManifestFromRepo(); | ||||
|     const repoManifest = await getManifestFromRepo(); | ||||
|     if ( | ||||
|       Array.isArray(repoManifest) && | ||||
|       repoManifest.length && | ||||
|       repoManifest.every(isIToolRelease) | ||||
|     ) { | ||||
|       return repoManifest; | ||||
|     } | ||||
|     throw new Error( | ||||
|       'The repository manifest is invalid or does not include any valid tool release (IToolRelease) entries.' | ||||
|     ); | ||||
|   } catch (err) { | ||||
|     core.debug('Fetching the manifest via the API failed.'); | ||||
|     if (err instanceof Error) { | ||||
|       core.debug(err.message); | ||||
|     } else { | ||||
|       core.error('An unexpected error occurred while fetching the manifest.'); | ||||
|     } | ||||
|   } | ||||
|   return await getManifestFromURL(); | ||||
| @ -93,6 +121,9 @@ async function installPython(workingDirectory: string) { | ||||
| } | ||||
|  | ||||
| export async function installCpythonFromRelease(release: tc.IToolRelease) { | ||||
|   if (!release.files || release.files.length === 0) { | ||||
|     throw new Error('No files found in the release to download.'); | ||||
|   } | ||||
|   const downloadUrl = release.files[0].download_url; | ||||
|  | ||||
|   core.info(`Download from "${downloadUrl}"`); | ||||
| @ -113,9 +144,13 @@ export async function installCpythonFromRelease(release: tc.IToolRelease) { | ||||
|   } catch (err) { | ||||
|     if (err instanceof tc.HTTPError) { | ||||
|       // Rate limit? | ||||
|       if (err.httpStatusCode === 403 || err.httpStatusCode === 429) { | ||||
|       if (err.httpStatusCode === 403) { | ||||
|         core.error( | ||||
|           `Received HTTP status code 403. This indicates a permission issue or restricted access.` | ||||
|         ); | ||||
|       } else if (err.httpStatusCode === 429) { | ||||
|         core.info( | ||||
|           `Received HTTP status code ${err.httpStatusCode}.  This usually indicates the rate limit has been exceeded` | ||||
|           `Received HTTP status code 429.  This usually indicates the rate limit has been exceeded` | ||||
|         ); | ||||
|       } else { | ||||
|         core.info(err.message); | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	![dependabot[bot]](/assets/img/avatar_default.png)