mirror of
https://github.com/astral-sh/setup-uv.git
synced 2025-05-17 22:54:45 +00:00
Add python version to cache key (#187)
Some checks are pending
Check dist/ / check-dist (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Release Drafter / ✏️ Draft release (push) Waiting to run
test-cache-windows / test-setup-cache (push) Waiting to run
test-cache-windows / test-restore-cache (push) Blocked by required conditions
test-cache / test-setup-cache (auto, selfhosted-ubuntu-arm64) (push) Waiting to run
test-cache / test-setup-cache (auto, ubuntu-latest) (push) Waiting to run
test-cache / test-setup-cache (false, selfhosted-ubuntu-arm64) (push) Waiting to run
test-cache / test-setup-cache (false, ubuntu-latest) (push) Waiting to run
test-cache / test-setup-cache (true, selfhosted-ubuntu-arm64) (push) Waiting to run
test-cache / test-setup-cache (true, ubuntu-latest) (push) Waiting to run
test-cache / test-restore-cache (auto, selfhosted-ubuntu-arm64) (push) Blocked by required conditions
test-cache / test-restore-cache (auto, ubuntu-latest) (push) Blocked by required conditions
test-cache / test-restore-cache (false, selfhosted-ubuntu-arm64) (push) Blocked by required conditions
test-cache / test-restore-cache (false, ubuntu-latest) (push) Blocked by required conditions
test-cache / test-restore-cache (true, selfhosted-ubuntu-arm64) (push) Blocked by required conditions
test-cache / test-restore-cache (true, ubuntu-latest) (push) Blocked by required conditions
test-cache / test-setup-cache-requirements-txt (push) Waiting to run
test-cache / test-restore-cache-requirements-txt (push) Blocked by required conditions
test-cache / test-setup-cache-dependency-glob (push) Waiting to run
test-cache / test-restore-cache-dependency-glob (push) Blocked by required conditions
test-cache / test-setup-cache-local (push) Waiting to run
test-cache / test-restore-cache-local (push) Blocked by required conditions
test-cache / test-tilde-expansion-cache-local-path (push) Waiting to run
test-cache / test-tilde-expansion-cache-dependency-glob (push) Waiting to run
test-cache / cleanup-tilde-expansion-tests (push) Blocked by required conditions
test-cache / test-no-python-version (push) Waiting to run
test-windows / test-default-version (push) Waiting to run
test / build (push) Waiting to run
test / test-default-version (macos-14) (push) Waiting to run
test / test-default-version (macos-latest) (push) Waiting to run
test / test-default-version (ubuntu-latest) (push) Waiting to run
test / test-specific-version (0.3) (push) Waiting to run
test / test-specific-version (0.3.0) (push) Waiting to run
test / test-specific-version (0.3.2) (push) Waiting to run
test / test-specific-version (0.3.x) (push) Waiting to run
test / test-specific-version (>=0.3.0) (push) Waiting to run
test / test-semver-range (push) Waiting to run
test / test-checksum (4d9279ad5ca596b1e2d703901d508430eb07564dc4d8837de9e2fca9c90f8ecd, ubuntu-latest) (push) Waiting to run
test / test-checksum (a70cbfbf3bb5c08b2f84963b4f12c94e08fbb2468ba418a3bfe1066fbe9e7218, macos-latest) (push) Waiting to run
test / test-with-explicit-token (push) Waiting to run
test / test-uvx (push) Waiting to run
test / test-tool-install (macos-14) (push) Waiting to run
test / test-tool-install (macos-latest) (push) Waiting to run
test / test-tool-install (ubuntu-latest) (push) Waiting to run
test / test-tool-install (windows-latest) (push) Waiting to run
test / test-tilde-expansion-tool-dirs (push) Waiting to run
test / test-python-version (3.12) (push) Waiting to run
test / test-python-version (3.13t) (push) Waiting to run
Some checks are pending
Check dist/ / check-dist (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Release Drafter / ✏️ Draft release (push) Waiting to run
test-cache-windows / test-setup-cache (push) Waiting to run
test-cache-windows / test-restore-cache (push) Blocked by required conditions
test-cache / test-setup-cache (auto, selfhosted-ubuntu-arm64) (push) Waiting to run
test-cache / test-setup-cache (auto, ubuntu-latest) (push) Waiting to run
test-cache / test-setup-cache (false, selfhosted-ubuntu-arm64) (push) Waiting to run
test-cache / test-setup-cache (false, ubuntu-latest) (push) Waiting to run
test-cache / test-setup-cache (true, selfhosted-ubuntu-arm64) (push) Waiting to run
test-cache / test-setup-cache (true, ubuntu-latest) (push) Waiting to run
test-cache / test-restore-cache (auto, selfhosted-ubuntu-arm64) (push) Blocked by required conditions
test-cache / test-restore-cache (auto, ubuntu-latest) (push) Blocked by required conditions
test-cache / test-restore-cache (false, selfhosted-ubuntu-arm64) (push) Blocked by required conditions
test-cache / test-restore-cache (false, ubuntu-latest) (push) Blocked by required conditions
test-cache / test-restore-cache (true, selfhosted-ubuntu-arm64) (push) Blocked by required conditions
test-cache / test-restore-cache (true, ubuntu-latest) (push) Blocked by required conditions
test-cache / test-setup-cache-requirements-txt (push) Waiting to run
test-cache / test-restore-cache-requirements-txt (push) Blocked by required conditions
test-cache / test-setup-cache-dependency-glob (push) Waiting to run
test-cache / test-restore-cache-dependency-glob (push) Blocked by required conditions
test-cache / test-setup-cache-local (push) Waiting to run
test-cache / test-restore-cache-local (push) Blocked by required conditions
test-cache / test-tilde-expansion-cache-local-path (push) Waiting to run
test-cache / test-tilde-expansion-cache-dependency-glob (push) Waiting to run
test-cache / cleanup-tilde-expansion-tests (push) Blocked by required conditions
test-cache / test-no-python-version (push) Waiting to run
test-windows / test-default-version (push) Waiting to run
test / build (push) Waiting to run
test / test-default-version (macos-14) (push) Waiting to run
test / test-default-version (macos-latest) (push) Waiting to run
test / test-default-version (ubuntu-latest) (push) Waiting to run
test / test-specific-version (0.3) (push) Waiting to run
test / test-specific-version (0.3.0) (push) Waiting to run
test / test-specific-version (0.3.2) (push) Waiting to run
test / test-specific-version (0.3.x) (push) Waiting to run
test / test-specific-version (>=0.3.0) (push) Waiting to run
test / test-semver-range (push) Waiting to run
test / test-checksum (4d9279ad5ca596b1e2d703901d508430eb07564dc4d8837de9e2fca9c90f8ecd, ubuntu-latest) (push) Waiting to run
test / test-checksum (a70cbfbf3bb5c08b2f84963b4f12c94e08fbb2468ba418a3bfe1066fbe9e7218, macos-latest) (push) Waiting to run
test / test-with-explicit-token (push) Waiting to run
test / test-uvx (push) Waiting to run
test / test-tool-install (macos-14) (push) Waiting to run
test / test-tool-install (macos-latest) (push) Waiting to run
test / test-tool-install (ubuntu-latest) (push) Waiting to run
test / test-tool-install (windows-latest) (push) Waiting to run
test / test-tilde-expansion-tool-dirs (push) Waiting to run
test / test-python-version (3.12) (push) Waiting to run
test / test-python-version (3.13t) (push) Waiting to run
Closes: #182
This commit is contained in:
parent
e3017a763c
commit
856099c958
8 changed files with 167 additions and 3 deletions
36
src/cache/restore-cache.ts
vendored
36
src/cache/restore-cache.ts
vendored
|
@ -4,9 +4,11 @@ import {
|
|||
cacheDependencyGlob,
|
||||
cacheLocalPath,
|
||||
cacheSuffix,
|
||||
pythonVersion as pythonVersionInput,
|
||||
} from "../utils/inputs";
|
||||
import { getArch, getPlatform } from "../utils/platforms";
|
||||
import { hashFiles } from "../hash/hash-files";
|
||||
import * as exec from "@actions/exec";
|
||||
|
||||
export const STATE_CACHE_KEY = "cache-key";
|
||||
export const STATE_CACHE_MATCHED_KEY = "cache-matched-key";
|
||||
|
@ -49,7 +51,39 @@ async function computeKeys(version: string): Promise<string> {
|
|||
cacheDependencyPathHash += "no-dependency-glob";
|
||||
}
|
||||
const suffix = cacheSuffix ? `-${cacheSuffix}` : "";
|
||||
return `setup-uv-${CACHE_VERSION}-${getArch()}-${getPlatform()}-${version}${cacheDependencyPathHash}${suffix}`;
|
||||
const pythonVersion = await getPythonVersion();
|
||||
return `setup-uv-${CACHE_VERSION}-${getArch()}-${getPlatform()}-${version}-${pythonVersion}${cacheDependencyPathHash}${suffix}`;
|
||||
}
|
||||
|
||||
async function getPythonVersion(): Promise<string> {
|
||||
if (pythonVersionInput !== "") {
|
||||
return pythonVersionInput;
|
||||
}
|
||||
|
||||
let output = "";
|
||||
const options: exec.ExecOptions = {
|
||||
silent: !core.isDebug(),
|
||||
listeners: {
|
||||
stdout: (data: Buffer) => {
|
||||
output += data.toString();
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
try {
|
||||
const execArgs = ["python", "find"];
|
||||
await exec.exec("uv", execArgs, options);
|
||||
const pythonPath = output.trim();
|
||||
|
||||
output = "";
|
||||
await exec.exec(pythonPath, ["--version"], options);
|
||||
// output is like "Python 3.8.10"
|
||||
return output.split(" ")[1].trim();
|
||||
} catch (error) {
|
||||
const err = error as Error;
|
||||
core.debug(`Failed to get python version from uv. Error: ${err.message}`);
|
||||
return "unknown";
|
||||
}
|
||||
}
|
||||
|
||||
function handleMatchResult(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue