add archive extension to downloaded assets (#148)

Fixes missing .zip extensions
which breaks on old PowerShell versions

Fixes: #147
This commit is contained in:
Kevin Stillhammer 2024-11-05 21:21:57 +01:00 committed by GitHub
parent d2242d1901
commit 6f467a02b3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 18 additions and 22 deletions

20
dist/setup/index.js generated vendored
View File

@ -89846,15 +89846,13 @@ const constants_1 = __nccwpck_require__(6156);
function downloadLatest(platform, arch, checkSum, githubToken) { function downloadLatest(platform, arch, checkSum, githubToken) {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
const artifact = `uv-${arch}-${platform}`; const artifact = `uv-${arch}-${platform}`;
let downloadUrl = `https://github.com/${constants_1.OWNER}/${constants_1.REPO}/releases/latest/download/${artifact}`; let extension = ".tar.gz";
if (platform === "pc-windows-msvc") { if (platform === "pc-windows-msvc") {
downloadUrl += ".zip"; extension = ".zip";
}
else {
downloadUrl += ".tar.gz";
} }
const downloadUrl = `https://github.com/${constants_1.OWNER}/${constants_1.REPO}/releases/latest/download/${artifact}${extension}`;
core.info(`Downloading uv from "${downloadUrl}" ...`); core.info(`Downloading uv from "${downloadUrl}" ...`);
const downloadPath = yield tc.downloadTool(downloadUrl, undefined, githubToken); const downloadPath = yield tc.downloadTool(downloadUrl, `${artifact}${extension}`, githubToken);
let uvExecutablePath; let uvExecutablePath;
let uvDir; let uvDir;
if (platform === "pc-windows-msvc") { if (platform === "pc-windows-msvc") {
@ -89958,15 +89956,13 @@ function downloadVersion(platform, arch, version, checkSum, githubToken) {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
const resolvedVersion = yield resolveVersion(version, githubToken); const resolvedVersion = yield resolveVersion(version, githubToken);
const artifact = `uv-${arch}-${platform}`; const artifact = `uv-${arch}-${platform}`;
let downloadUrl = `https://github.com/${constants_1.OWNER}/${constants_1.REPO}/releases/download/${resolvedVersion}/${artifact}`; let extension = ".tar.gz";
if (platform === "pc-windows-msvc") { if (platform === "pc-windows-msvc") {
downloadUrl += ".zip"; extension = ".zip";
}
else {
downloadUrl += ".tar.gz";
} }
const downloadUrl = `https://github.com/${constants_1.OWNER}/${constants_1.REPO}/releases/download/${resolvedVersion}/${artifact}${extension}`;
core.info(`Downloading uv from "${downloadUrl}" ...`); core.info(`Downloading uv from "${downloadUrl}" ...`);
const downloadPath = yield tc.downloadTool(downloadUrl, undefined, githubToken); const downloadPath = yield tc.downloadTool(downloadUrl, `${artifact}${extension}`, githubToken);
yield (0, checksum_1.validateChecksum)(checkSum, downloadPath, arch, platform, resolvedVersion); yield (0, checksum_1.validateChecksum)(checkSum, downloadPath, arch, platform, resolvedVersion);
let uvDir; let uvDir;
if (platform === "pc-windows-msvc") { if (platform === "pc-windows-msvc") {

View File

@ -2,6 +2,7 @@ import * as core from "@actions/core";
import * as tc from "@actions/tool-cache"; import * as tc from "@actions/tool-cache";
import * as exec from "@actions/exec"; import * as exec from "@actions/exec";
import * as path from "node:path"; import * as path from "node:path";
import { promises as fs } from "node:fs";
import type { Architecture, Platform } from "../utils/platforms"; import type { Architecture, Platform } from "../utils/platforms";
import { validateChecksum } from "./checksum/checksum"; import { validateChecksum } from "./checksum/checksum";
import { OWNER, REPO, TOOL_CACHE_NAME } from "../utils/constants"; import { OWNER, REPO, TOOL_CACHE_NAME } from "../utils/constants";
@ -13,17 +14,16 @@ export async function downloadLatest(
githubToken: string | undefined, githubToken: string | undefined,
): Promise<{ cachedToolDir: string; version: string }> { ): Promise<{ cachedToolDir: string; version: string }> {
const artifact = `uv-${arch}-${platform}`; const artifact = `uv-${arch}-${platform}`;
let downloadUrl = `https://github.com/${OWNER}/${REPO}/releases/latest/download/${artifact}`; let extension = ".tar.gz";
if (platform === "pc-windows-msvc") { if (platform === "pc-windows-msvc") {
downloadUrl += ".zip"; extension = ".zip";
} else {
downloadUrl += ".tar.gz";
} }
const downloadUrl = `https://github.com/${OWNER}/${REPO}/releases/latest/download/${artifact}${extension}`;
core.info(`Downloading uv from "${downloadUrl}" ...`); core.info(`Downloading uv from "${downloadUrl}" ...`);
const downloadPath = await tc.downloadTool( const downloadPath = await tc.downloadTool(
downloadUrl, downloadUrl,
undefined, `${artifact}${extension}`,
githubToken, githubToken,
); );
let uvExecutablePath: string; let uvExecutablePath: string;

View File

@ -1,6 +1,7 @@
import * as core from "@actions/core"; import * as core from "@actions/core";
import * as tc from "@actions/tool-cache"; import * as tc from "@actions/tool-cache";
import * as path from "node:path"; import * as path from "node:path";
import { promises as fs } from "node:fs";
import { OWNER, REPO, TOOL_CACHE_NAME } from "../utils/constants"; import { OWNER, REPO, TOOL_CACHE_NAME } from "../utils/constants";
import type { Architecture, Platform } from "../utils/platforms"; import type { Architecture, Platform } from "../utils/platforms";
import { validateChecksum } from "./checksum/checksum"; import { validateChecksum } from "./checksum/checksum";
@ -30,17 +31,16 @@ export async function downloadVersion(
): Promise<{ version: string; cachedToolDir: string }> { ): Promise<{ version: string; cachedToolDir: string }> {
const resolvedVersion = await resolveVersion(version, githubToken); const resolvedVersion = await resolveVersion(version, githubToken);
const artifact = `uv-${arch}-${platform}`; const artifact = `uv-${arch}-${platform}`;
let downloadUrl = `https://github.com/${OWNER}/${REPO}/releases/download/${resolvedVersion}/${artifact}`; let extension = ".tar.gz";
if (platform === "pc-windows-msvc") { if (platform === "pc-windows-msvc") {
downloadUrl += ".zip"; extension = ".zip";
} else {
downloadUrl += ".tar.gz";
} }
const downloadUrl = `https://github.com/${OWNER}/${REPO}/releases/download/${resolvedVersion}/${artifact}${extension}`;
core.info(`Downloading uv from "${downloadUrl}" ...`); core.info(`Downloading uv from "${downloadUrl}" ...`);
const downloadPath = await tc.downloadTool( const downloadPath = await tc.downloadTool(
downloadUrl, downloadUrl,
undefined, `${artifact}${extension}`,
githubToken, githubToken,
); );
await validateChecksum( await validateChecksum(