diff --git a/dist/setup/index.js b/dist/setup/index.js index 3ca83b0..8f63250 100644 Binary files a/dist/setup/index.js and b/dist/setup/index.js differ diff --git a/src/download/download-latest.ts b/src/download/download-latest.ts index fb9ce29..543e95b 100644 --- a/src/download/download-latest.ts +++ b/src/download/download-latest.ts @@ -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} } diff --git a/src/download/download-version.ts b/src/download/download-version.ts index e253863..d566ecf 100644 --- a/src/download/download-version.ts +++ b/src/download/download-version.ts @@ -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 { - 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 + ) }