mirror of
				https://github.com/astral-sh/setup-uv.git
				synced 2025-10-30 22:46:46 +00:00 
			
		
		
		
	Cache correct dir
This commit is contained in:
		| @@ -12,8 +12,8 @@ export async function downloadLatest( | ||||
|   checkSum: string | undefined, | ||||
|   githubToken: string | undefined | ||||
| ): Promise<{cachedToolDir: string; version: string}> { | ||||
|   const binary = `uv-${arch}-${platform}` | ||||
|   let downloadUrl = `https://github.com/${OWNER}/${REPO}/releases/latest/download/${binary}` | ||||
|   const artifact = `uv-${arch}-${platform}` | ||||
|   let downloadUrl = `https://github.com/${OWNER}/${REPO}/releases/latest/download/${artifact}` | ||||
|   if (platform === 'pc-windows-msvc') { | ||||
|     downloadUrl += '.zip' | ||||
|   } else { | ||||
| @@ -27,22 +27,19 @@ export async function downloadLatest( | ||||
|     githubToken | ||||
|   ) | ||||
|   let uvExecutablePath: string | ||||
|   let extractedDir: string | ||||
|   let uvDir: string | ||||
|   if (platform === 'pc-windows-msvc') { | ||||
|     extractedDir = await tc.extractZip(downloadPath) | ||||
|     uvExecutablePath = path.join(extractedDir, 'uv.exe') | ||||
|     const extractedDir = await tc.extractZip(downloadPath) | ||||
|     uvDir = path.join(extractedDir, artifact) | ||||
|     uvExecutablePath = path.join(uvDir, 'uv.exe') | ||||
|   } else { | ||||
|     extractedDir = await tc.extractTar(downloadPath) | ||||
|     const extractedDir = await tc.extractTar(downloadPath) | ||||
|     uvDir = path.join(extractedDir, artifact) | ||||
|     uvExecutablePath = path.join(extractedDir, 'uv') | ||||
|   } | ||||
|   const version = await getVersion(uvExecutablePath) | ||||
|   await validateChecksum(checkSum, downloadPath, arch, platform, version) | ||||
|   const cachedToolDir = await tc.cacheDir( | ||||
|     extractedDir, | ||||
|     TOOL_CACHE_NAME, | ||||
|     version, | ||||
|     arch | ||||
|   ) | ||||
|   const cachedToolDir = await tc.cacheDir(uvDir, TOOL_CACHE_NAME, version, arch) | ||||
|  | ||||
|   return {cachedToolDir, version} | ||||
| } | ||||
|   | ||||
| @@ -1,14 +1,10 @@ | ||||
| import * as core from '@actions/core' | ||||
| import * as tc from '@actions/tool-cache' | ||||
| import * as path from 'path' | ||||
| import {OWNER, REPO, TOOL_CACHE_NAME} from '../utils/utils' | ||||
| import {Architecture, Platform} from '../utils/platforms' | ||||
| import {validateChecksum} from './checksum/checksum' | ||||
|  | ||||
| import * as fs from 'fs' | ||||
| import * as util from 'util' | ||||
|  | ||||
| const readdir = util.promisify(fs.readdir) | ||||
|  | ||||
| export function tryGetFromToolCache( | ||||
|   arch: Architecture, | ||||
|   version: string | ||||
| @@ -26,8 +22,8 @@ export async function downloadVersion( | ||||
|   checkSum: string | undefined, | ||||
|   githubToken: string | undefined | ||||
| ): Promise<string> { | ||||
|   const binary = `uv-${arch}-${platform}` | ||||
|   let downloadUrl = `https://github.com/${OWNER}/${REPO}/releases/download/${version}/${binary}` | ||||
|   const artifact = `uv-${arch}-${platform}` | ||||
|   let downloadUrl = `https://github.com/${OWNER}/${REPO}/releases/download/${version}/${artifact}` | ||||
|   if (platform === 'pc-windows-msvc') { | ||||
|     downloadUrl += '.zip' | ||||
|   } else { | ||||
| @@ -48,10 +44,11 @@ export async function downloadVersion( | ||||
|   } else { | ||||
|     extractedDir = await tc.extractTar(downloadPath) | ||||
|   } | ||||
|   core.info(`Extracted uv to "${extractedDir}"`) | ||||
|   // list the contents of extracted dir | ||||
|   const files = await readdir(extractedDir) | ||||
|   core.info(`Contents of extracted directory: ${files.join(', ')}`) | ||||
|  | ||||
|   return await tc.cacheDir(extractedDir, TOOL_CACHE_NAME, version, arch) | ||||
|   return await tc.cacheDir( | ||||
|     path.join(extractedDir, artifact), | ||||
|     TOOL_CACHE_NAME, | ||||
|     version, | ||||
|     arch | ||||
|   ) | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user