mirror of
https://github.com/astral-sh/setup-uv.git
synced 2025-12-17 11:05:59 +00:00
Compare commits
5 Commits
v6.2.1
...
remove-man
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cd4ccfa557 | ||
|
|
8021b967f0 | ||
|
|
c6a5ebaafe | ||
|
|
790df8f465 | ||
|
|
445689ea25 |
3
.github/workflows/test.yml
vendored
3
.github/workflows/test.yml
vendored
@@ -422,7 +422,7 @@ jobs:
|
|||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
expected-cache-dir: "/home/runner/work/_temp/setup-uv-cache"
|
expected-cache-dir: "/home/runner/work/_temp/setup-uv-cache"
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
expected-cache-dir: "C:\\a\\_temp\\setup-uv-cache"
|
expected-cache-dir: "D:\\a\\_temp\\setup-uv-cache"
|
||||||
- os: selfhosted-ubuntu-arm64
|
- os: selfhosted-ubuntu-arm64
|
||||||
expected-cache-dir: "/home/ubuntu/.cache/uv"
|
expected-cache-dir: "/home/ubuntu/.cache/uv"
|
||||||
runs-on: ${{ matrix.inputs.os }}
|
runs-on: ${{ matrix.inputs.os }}
|
||||||
@@ -540,7 +540,6 @@ jobs:
|
|||||||
- name: Install from custom manifest file
|
- name: Install from custom manifest file
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
version: 0.7.12-alpha.1
|
|
||||||
manifest-file: "https://raw.githubusercontent.com/astral-sh/setup-uv/${{ github.ref }}/__tests__/download/custom-manifest.json"
|
manifest-file: "https://raw.githubusercontent.com/astral-sh/setup-uv/${{ github.ref }}/__tests__/download/custom-manifest.json"
|
||||||
- run: uv sync
|
- run: uv sync
|
||||||
working-directory: __tests__/fixtures/uv-project
|
working-directory: __tests__/fixtures/uv-project
|
||||||
|
|||||||
22
README.md
22
README.md
@@ -430,6 +430,11 @@ This is useful if you maintain your own uv builds or want to override the defaul
|
|||||||
manifest-file: "https://example.com/my-custom-manifest.json"
|
manifest-file: "https://example.com/my-custom-manifest.json"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> When you use a custom manifest file and do not set the `version` input, its default value is `latest`.
|
||||||
|
> This means the action will install the latest version available in the custom manifest file.
|
||||||
|
> This is different from the default behavior of installing the latest version from the official uv releases.
|
||||||
|
|
||||||
## How it works
|
## How it works
|
||||||
|
|
||||||
This action downloads uv from the uv repo's official
|
This action downloads uv from the uv repo's official
|
||||||
@@ -537,6 +542,23 @@ Running `actions/checkout` after `setup-uv` **is not supported**.
|
|||||||
No, `setup-uv` alone wont install any libraries from your `pyproject.toml` or `requirements.txt`, it only sets up `uv`.
|
No, `setup-uv` alone wont install any libraries from your `pyproject.toml` or `requirements.txt`, it only sets up `uv`.
|
||||||
You should run `uv sync` or `uv pip install .` separately, or use `uv run ...` to ensure necessary dependencies are installed.
|
You should run `uv sync` or `uv pip install .` separately, or use `uv run ...` to ensure necessary dependencies are installed.
|
||||||
|
|
||||||
|
### Why is a changed cache not detected and not the full cache uploaded?
|
||||||
|
|
||||||
|
When `setup-uv` starts it has to know whether it is better to download an existing cache
|
||||||
|
or start fresh and download every dependency again.
|
||||||
|
It does this by using a combination of hashes calculated on the contents of e.g. `uv.lock`.
|
||||||
|
|
||||||
|
By calculating these hashes and combining them in a key `setup-uv` can check
|
||||||
|
if an uploaded cache exists for this key.
|
||||||
|
If yes (e.g. contents of `uv.lock` did not change since last run) the dependencies in the cache
|
||||||
|
are up to date and the cache will be downloaded and used.
|
||||||
|
|
||||||
|
Details on determining which files will lead to different caches can be read under
|
||||||
|
[cache-dependency-glob](#cache-dependency-glob)
|
||||||
|
|
||||||
|
Some dependencies will never be uploaded to the cache and will be downloaded again on each run
|
||||||
|
as described in [disable-cache-pruning](#disable-cache-pruning)
|
||||||
|
|
||||||
## Acknowledgements
|
## Acknowledgements
|
||||||
|
|
||||||
`setup-uv` was initially written and published by [Kevin Stillhammer](https://github.com/eifinger)
|
`setup-uv` was initially written and published by [Kevin Stillhammer](https://github.com/eifinger)
|
||||||
|
|||||||
46
dist/setup/index.js
generated
vendored
46
dist/setup/index.js
generated
vendored
@@ -121563,6 +121563,24 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|||||||
exports.KNOWN_CHECKSUMS = void 0;
|
exports.KNOWN_CHECKSUMS = void 0;
|
||||||
// AUTOGENERATED_DO_NOT_EDIT
|
// AUTOGENERATED_DO_NOT_EDIT
|
||||||
exports.KNOWN_CHECKSUMS = {
|
exports.KNOWN_CHECKSUMS = {
|
||||||
|
"aarch64-apple-darwin-0.7.14": "7cb9cb6b3005a16356493887d7e7e297237b754b5753b91e826ada98ab2da172",
|
||||||
|
"aarch64-pc-windows-msvc-0.7.14": "f28f27e529e30e96e7b289b724c8229cfc5ca25312c23bdae089d6998ffd0aae",
|
||||||
|
"aarch64-unknown-linux-gnu-0.7.14": "c0932f428d24d87aaad6a6b7ad48aa09f260d2da5c69e877acd87c3ac90fbbad",
|
||||||
|
"aarch64-unknown-linux-musl-0.7.14": "30e41b1f68b3e57c1375c0b2e7fe932a9eb5487fbcef7c4c7d03def3e05b9f7e",
|
||||||
|
"arm-unknown-linux-musleabihf-0.7.14": "3b494d3d6a892d9c03d1fa6dcec8ac6077653939a6645570ab6f1f40adbd0b3c",
|
||||||
|
"armv7-unknown-linux-gnueabihf-0.7.14": "d5d1f6c49559914678267ce9f3a57528ab45e26e907a816736306b4f10a7b4b8",
|
||||||
|
"armv7-unknown-linux-musleabihf-0.7.14": "0016d3138edc52de9f2f4b0587afb6b579dc3bb3abfe2df151f97cc43a4ab421",
|
||||||
|
"i686-pc-windows-msvc-0.7.14": "42391f3a71229342b17d944e956d116aabc5147b0ed28a26c59601feac1f24cd",
|
||||||
|
"i686-unknown-linux-gnu-0.7.14": "71c358c315da7ddd2de334fe52a54719f9bdac8d6970e7966e2d080ae73ad028",
|
||||||
|
"i686-unknown-linux-musl-0.7.14": "d02de9391fe7b7d7e97dc2fa63a539201a31eb51d2c6a87b7570cf8a5ac22398",
|
||||||
|
"powerpc64-unknown-linux-gnu-0.7.14": "a2a43332f860520f7cd3d32f5a4ed5e0d938cc59e025372f8f1bfe47ea64355a",
|
||||||
|
"powerpc64le-unknown-linux-gnu-0.7.14": "3c545528b601a75baad5e1cc93cbf973123e9e6df6d905b432d91ba9ca769c0b",
|
||||||
|
"riscv64gc-unknown-linux-gnu-0.7.14": "4085fd8d4acb0a50a012fa63ae37e50472bf8742d58f4943529b5b5bda95a1a9",
|
||||||
|
"s390x-unknown-linux-gnu-0.7.14": "b20a69092f3171dd99445fe0d71e3ed3e67ff85346cb0723a43a1b8d55ce0f33",
|
||||||
|
"x86_64-apple-darwin-0.7.14": "352a56bb3823040f19f936dd5e277340cd304da03e5b00c0959800a72a9f55ac",
|
||||||
|
"x86_64-pc-windows-msvc-0.7.14": "f9ac952c69d32b2263ba19ba93d18d9e708dcb9bddb8124555bbda96d6d5168f",
|
||||||
|
"x86_64-unknown-linux-gnu-0.7.14": "2b38641d02bf107c5099f09778fda93bbaa4a4a2ee44ba303a4097102254e5e5",
|
||||||
|
"x86_64-unknown-linux-musl-0.7.14": "8c62a823744630e6cf3fdf0bf38c4fe4558bfcbe082b076a76446a3aab2af5f5",
|
||||||
"aarch64-apple-darwin-0.7.13": "721f532b73171586574298d4311a91d5ea2c802ef4db3ebafc434239330090c6",
|
"aarch64-apple-darwin-0.7.13": "721f532b73171586574298d4311a91d5ea2c802ef4db3ebafc434239330090c6",
|
||||||
"aarch64-pc-windows-msvc-0.7.13": "bb40708ad549ad6a12209cb139dd751bf0ede41deb679ce7513ce197bd9ef234",
|
"aarch64-pc-windows-msvc-0.7.13": "bb40708ad549ad6a12209cb139dd751bf0ede41deb679ce7513ce197bd9ef234",
|
||||||
"aarch64-unknown-linux-gnu-0.7.13": "0b2ad9fe4295881615295add8cc5daa02549d29cc9a61f0578e397efcf12f08f",
|
"aarch64-unknown-linux-gnu-0.7.13": "0b2ad9fe4295881615295add8cc5daa02549d29cc9a61f0578e397efcf12f08f",
|
||||||
@@ -124708,7 +124726,7 @@ async function downloadVersionFromGithub(serverUrl, platform, arch, version, che
|
|||||||
async function downloadVersionFromManifest(manifestUrl, platform, arch, version, checkSum, githubToken) {
|
async function downloadVersionFromManifest(manifestUrl, platform, arch, version, checkSum, githubToken) {
|
||||||
const downloadUrl = await (0, version_manifest_1.getDownloadUrl)(manifestUrl, version, arch, platform);
|
const downloadUrl = await (0, version_manifest_1.getDownloadUrl)(manifestUrl, version, arch, platform);
|
||||||
if (!downloadUrl) {
|
if (!downloadUrl) {
|
||||||
core.warning(`manifest-file does not contain version ${version}, arch ${arch}, platform ${platform}. Falling back to GitHub releases.`);
|
core.info(`manifest-file does not contain version ${version}, arch ${arch}, platform ${platform}. Falling back to GitHub releases.`);
|
||||||
return await downloadVersionFromGithub("https://github.com", platform, arch, version, checkSum, githubToken);
|
return await downloadVersionFromGithub("https://github.com", platform, arch, version, checkSum, githubToken);
|
||||||
}
|
}
|
||||||
return await downloadVersion(downloadUrl, `uv-${arch}-${platform}`, platform, arch, version, checkSum, githubToken);
|
return await downloadVersion(downloadUrl, `uv-${arch}-${platform}`, platform, arch, version, checkSum, githubToken);
|
||||||
@@ -124735,11 +124753,21 @@ async function downloadVersion(downloadUrl, artifactName, platform, arch, versio
|
|||||||
function getExtension(platform) {
|
function getExtension(platform) {
|
||||||
return platform === "pc-windows-msvc" ? ".zip" : ".tar.gz";
|
return platform === "pc-windows-msvc" ? ".zip" : ".tar.gz";
|
||||||
}
|
}
|
||||||
async function resolveVersion(versionInput, githubToken) {
|
async function resolveVersion(versionInput, manifestFile, githubToken) {
|
||||||
core.debug(`Resolving version: ${versionInput}`);
|
core.debug(`Resolving version: ${versionInput}`);
|
||||||
const version = versionInput === "latest"
|
let version;
|
||||||
? await getLatestVersion(githubToken)
|
if (manifestFile) {
|
||||||
: versionInput;
|
version =
|
||||||
|
versionInput === "latest"
|
||||||
|
? await (0, version_manifest_1.getLatestKnownVersion)(manifestFile)
|
||||||
|
: versionInput;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
version =
|
||||||
|
versionInput === "latest"
|
||||||
|
? await getLatestVersion(githubToken)
|
||||||
|
: versionInput;
|
||||||
|
}
|
||||||
if (tc.isExplicitVersion(version)) {
|
if (tc.isExplicitVersion(version)) {
|
||||||
core.debug(`Version ${version} is an explicit version.`);
|
core.debug(`Version ${version} is an explicit version.`);
|
||||||
return version;
|
return version;
|
||||||
@@ -125105,7 +125133,7 @@ function detectEmptyWorkdir() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
async function setupUv(platform, arch, checkSum, githubToken) {
|
async function setupUv(platform, arch, checkSum, githubToken) {
|
||||||
const resolvedVersion = await determineVersion();
|
const resolvedVersion = await determineVersion(inputs_1.manifestFile);
|
||||||
const toolCacheResult = (0, download_version_1.tryGetFromToolCache)(arch, resolvedVersion);
|
const toolCacheResult = (0, download_version_1.tryGetFromToolCache)(arch, resolvedVersion);
|
||||||
if (toolCacheResult.installedPath) {
|
if (toolCacheResult.installedPath) {
|
||||||
core.info(`Found uv in tool-cache for ${toolCacheResult.version}`);
|
core.info(`Found uv in tool-cache for ${toolCacheResult.version}`);
|
||||||
@@ -125127,16 +125155,16 @@ async function setupUv(platform, arch, checkSum, githubToken) {
|
|||||||
version: downloadVersionResult.version,
|
version: downloadVersionResult.version,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
async function determineVersion() {
|
async function determineVersion(manifestFile) {
|
||||||
if (inputs_1.version !== "") {
|
if (inputs_1.version !== "") {
|
||||||
return await (0, download_version_1.resolveVersion)(inputs_1.version, inputs_1.githubToken);
|
return await (0, download_version_1.resolveVersion)(inputs_1.version, manifestFile, inputs_1.githubToken);
|
||||||
}
|
}
|
||||||
const versionFromUvToml = (0, config_file_1.getUvVersionFromConfigFile)(`${inputs_1.workingDirectory}${path.sep}uv.toml`);
|
const versionFromUvToml = (0, config_file_1.getUvVersionFromConfigFile)(`${inputs_1.workingDirectory}${path.sep}uv.toml`);
|
||||||
const versionFromPyproject = (0, config_file_1.getUvVersionFromConfigFile)(`${inputs_1.workingDirectory}${path.sep}pyproject.toml`);
|
const versionFromPyproject = (0, config_file_1.getUvVersionFromConfigFile)(`${inputs_1.workingDirectory}${path.sep}pyproject.toml`);
|
||||||
if (versionFromUvToml === undefined && versionFromPyproject === undefined) {
|
if (versionFromUvToml === undefined && versionFromPyproject === undefined) {
|
||||||
core.info("Could not determine uv version from uv.toml or pyproject.toml. Falling back to latest.");
|
core.info("Could not determine uv version from uv.toml or pyproject.toml. Falling back to latest.");
|
||||||
}
|
}
|
||||||
return await (0, download_version_1.resolveVersion)(versionFromUvToml || versionFromPyproject || "latest", inputs_1.githubToken);
|
return await (0, download_version_1.resolveVersion)(versionFromUvToml || versionFromPyproject || "latest", manifestFile, inputs_1.githubToken);
|
||||||
}
|
}
|
||||||
function addUvToPathAndOutput(cachedPath) {
|
function addUvToPathAndOutput(cachedPath) {
|
||||||
core.setOutput("uv-path", `${cachedPath}${path.sep}uv`);
|
core.setOutput("uv-path", `${cachedPath}${path.sep}uv`);
|
||||||
|
|||||||
18
dist/update-known-versions/index.js
generated
vendored
18
dist/update-known-versions/index.js
generated
vendored
@@ -59221,6 +59221,24 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|||||||
exports.KNOWN_CHECKSUMS = void 0;
|
exports.KNOWN_CHECKSUMS = void 0;
|
||||||
// AUTOGENERATED_DO_NOT_EDIT
|
// AUTOGENERATED_DO_NOT_EDIT
|
||||||
exports.KNOWN_CHECKSUMS = {
|
exports.KNOWN_CHECKSUMS = {
|
||||||
|
"aarch64-apple-darwin-0.7.14": "7cb9cb6b3005a16356493887d7e7e297237b754b5753b91e826ada98ab2da172",
|
||||||
|
"aarch64-pc-windows-msvc-0.7.14": "f28f27e529e30e96e7b289b724c8229cfc5ca25312c23bdae089d6998ffd0aae",
|
||||||
|
"aarch64-unknown-linux-gnu-0.7.14": "c0932f428d24d87aaad6a6b7ad48aa09f260d2da5c69e877acd87c3ac90fbbad",
|
||||||
|
"aarch64-unknown-linux-musl-0.7.14": "30e41b1f68b3e57c1375c0b2e7fe932a9eb5487fbcef7c4c7d03def3e05b9f7e",
|
||||||
|
"arm-unknown-linux-musleabihf-0.7.14": "3b494d3d6a892d9c03d1fa6dcec8ac6077653939a6645570ab6f1f40adbd0b3c",
|
||||||
|
"armv7-unknown-linux-gnueabihf-0.7.14": "d5d1f6c49559914678267ce9f3a57528ab45e26e907a816736306b4f10a7b4b8",
|
||||||
|
"armv7-unknown-linux-musleabihf-0.7.14": "0016d3138edc52de9f2f4b0587afb6b579dc3bb3abfe2df151f97cc43a4ab421",
|
||||||
|
"i686-pc-windows-msvc-0.7.14": "42391f3a71229342b17d944e956d116aabc5147b0ed28a26c59601feac1f24cd",
|
||||||
|
"i686-unknown-linux-gnu-0.7.14": "71c358c315da7ddd2de334fe52a54719f9bdac8d6970e7966e2d080ae73ad028",
|
||||||
|
"i686-unknown-linux-musl-0.7.14": "d02de9391fe7b7d7e97dc2fa63a539201a31eb51d2c6a87b7570cf8a5ac22398",
|
||||||
|
"powerpc64-unknown-linux-gnu-0.7.14": "a2a43332f860520f7cd3d32f5a4ed5e0d938cc59e025372f8f1bfe47ea64355a",
|
||||||
|
"powerpc64le-unknown-linux-gnu-0.7.14": "3c545528b601a75baad5e1cc93cbf973123e9e6df6d905b432d91ba9ca769c0b",
|
||||||
|
"riscv64gc-unknown-linux-gnu-0.7.14": "4085fd8d4acb0a50a012fa63ae37e50472bf8742d58f4943529b5b5bda95a1a9",
|
||||||
|
"s390x-unknown-linux-gnu-0.7.14": "b20a69092f3171dd99445fe0d71e3ed3e67ff85346cb0723a43a1b8d55ce0f33",
|
||||||
|
"x86_64-apple-darwin-0.7.14": "352a56bb3823040f19f936dd5e277340cd304da03e5b00c0959800a72a9f55ac",
|
||||||
|
"x86_64-pc-windows-msvc-0.7.14": "f9ac952c69d32b2263ba19ba93d18d9e708dcb9bddb8124555bbda96d6d5168f",
|
||||||
|
"x86_64-unknown-linux-gnu-0.7.14": "2b38641d02bf107c5099f09778fda93bbaa4a4a2ee44ba303a4097102254e5e5",
|
||||||
|
"x86_64-unknown-linux-musl-0.7.14": "8c62a823744630e6cf3fdf0bf38c4fe4558bfcbe082b076a76446a3aab2af5f5",
|
||||||
"aarch64-apple-darwin-0.7.13": "721f532b73171586574298d4311a91d5ea2c802ef4db3ebafc434239330090c6",
|
"aarch64-apple-darwin-0.7.13": "721f532b73171586574298d4311a91d5ea2c802ef4db3ebafc434239330090c6",
|
||||||
"aarch64-pc-windows-msvc-0.7.13": "bb40708ad549ad6a12209cb139dd751bf0ede41deb679ce7513ce197bd9ef234",
|
"aarch64-pc-windows-msvc-0.7.13": "bb40708ad549ad6a12209cb139dd751bf0ede41deb679ce7513ce197bd9ef234",
|
||||||
"aarch64-unknown-linux-gnu-0.7.13": "0b2ad9fe4295881615295add8cc5daa02549d29cc9a61f0578e397efcf12f08f",
|
"aarch64-unknown-linux-gnu-0.7.13": "0b2ad9fe4295881615295add8cc5daa02549d29cc9a61f0578e397efcf12f08f",
|
||||||
|
|||||||
@@ -1,5 +1,41 @@
|
|||||||
// AUTOGENERATED_DO_NOT_EDIT
|
// AUTOGENERATED_DO_NOT_EDIT
|
||||||
export const KNOWN_CHECKSUMS: { [key: string]: string } = {
|
export const KNOWN_CHECKSUMS: { [key: string]: string } = {
|
||||||
|
"aarch64-apple-darwin-0.7.14":
|
||||||
|
"7cb9cb6b3005a16356493887d7e7e297237b754b5753b91e826ada98ab2da172",
|
||||||
|
"aarch64-pc-windows-msvc-0.7.14":
|
||||||
|
"f28f27e529e30e96e7b289b724c8229cfc5ca25312c23bdae089d6998ffd0aae",
|
||||||
|
"aarch64-unknown-linux-gnu-0.7.14":
|
||||||
|
"c0932f428d24d87aaad6a6b7ad48aa09f260d2da5c69e877acd87c3ac90fbbad",
|
||||||
|
"aarch64-unknown-linux-musl-0.7.14":
|
||||||
|
"30e41b1f68b3e57c1375c0b2e7fe932a9eb5487fbcef7c4c7d03def3e05b9f7e",
|
||||||
|
"arm-unknown-linux-musleabihf-0.7.14":
|
||||||
|
"3b494d3d6a892d9c03d1fa6dcec8ac6077653939a6645570ab6f1f40adbd0b3c",
|
||||||
|
"armv7-unknown-linux-gnueabihf-0.7.14":
|
||||||
|
"d5d1f6c49559914678267ce9f3a57528ab45e26e907a816736306b4f10a7b4b8",
|
||||||
|
"armv7-unknown-linux-musleabihf-0.7.14":
|
||||||
|
"0016d3138edc52de9f2f4b0587afb6b579dc3bb3abfe2df151f97cc43a4ab421",
|
||||||
|
"i686-pc-windows-msvc-0.7.14":
|
||||||
|
"42391f3a71229342b17d944e956d116aabc5147b0ed28a26c59601feac1f24cd",
|
||||||
|
"i686-unknown-linux-gnu-0.7.14":
|
||||||
|
"71c358c315da7ddd2de334fe52a54719f9bdac8d6970e7966e2d080ae73ad028",
|
||||||
|
"i686-unknown-linux-musl-0.7.14":
|
||||||
|
"d02de9391fe7b7d7e97dc2fa63a539201a31eb51d2c6a87b7570cf8a5ac22398",
|
||||||
|
"powerpc64-unknown-linux-gnu-0.7.14":
|
||||||
|
"a2a43332f860520f7cd3d32f5a4ed5e0d938cc59e025372f8f1bfe47ea64355a",
|
||||||
|
"powerpc64le-unknown-linux-gnu-0.7.14":
|
||||||
|
"3c545528b601a75baad5e1cc93cbf973123e9e6df6d905b432d91ba9ca769c0b",
|
||||||
|
"riscv64gc-unknown-linux-gnu-0.7.14":
|
||||||
|
"4085fd8d4acb0a50a012fa63ae37e50472bf8742d58f4943529b5b5bda95a1a9",
|
||||||
|
"s390x-unknown-linux-gnu-0.7.14":
|
||||||
|
"b20a69092f3171dd99445fe0d71e3ed3e67ff85346cb0723a43a1b8d55ce0f33",
|
||||||
|
"x86_64-apple-darwin-0.7.14":
|
||||||
|
"352a56bb3823040f19f936dd5e277340cd304da03e5b00c0959800a72a9f55ac",
|
||||||
|
"x86_64-pc-windows-msvc-0.7.14":
|
||||||
|
"f9ac952c69d32b2263ba19ba93d18d9e708dcb9bddb8124555bbda96d6d5168f",
|
||||||
|
"x86_64-unknown-linux-gnu-0.7.14":
|
||||||
|
"2b38641d02bf107c5099f09778fda93bbaa4a4a2ee44ba303a4097102254e5e5",
|
||||||
|
"x86_64-unknown-linux-musl-0.7.14":
|
||||||
|
"8c62a823744630e6cf3fdf0bf38c4fe4558bfcbe082b076a76446a3aab2af5f5",
|
||||||
"aarch64-apple-darwin-0.7.13":
|
"aarch64-apple-darwin-0.7.13":
|
||||||
"721f532b73171586574298d4311a91d5ea2c802ef4db3ebafc434239330090c6",
|
"721f532b73171586574298d4311a91d5ea2c802ef4db3ebafc434239330090c6",
|
||||||
"aarch64-pc-windows-msvc-0.7.13":
|
"aarch64-pc-windows-msvc-0.7.13":
|
||||||
|
|||||||
@@ -7,7 +7,10 @@ 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";
|
||||||
import { Octokit } from "../utils/octokit";
|
import { Octokit } from "../utils/octokit";
|
||||||
import { getDownloadUrl } from "./version-manifest";
|
import {
|
||||||
|
getDownloadUrl,
|
||||||
|
getLatestKnownVersion as getLatestVersionInManifest,
|
||||||
|
} from "./version-manifest";
|
||||||
|
|
||||||
export function tryGetFromToolCache(
|
export function tryGetFromToolCache(
|
||||||
arch: Architecture,
|
arch: Architecture,
|
||||||
@@ -61,7 +64,7 @@ export async function downloadVersionFromManifest(
|
|||||||
platform,
|
platform,
|
||||||
);
|
);
|
||||||
if (!downloadUrl) {
|
if (!downloadUrl) {
|
||||||
core.warning(
|
core.info(
|
||||||
`manifest-file does not contain version ${version}, arch ${arch}, platform ${platform}. Falling back to GitHub releases.`,
|
`manifest-file does not contain version ${version}, arch ${arch}, platform ${platform}. Falling back to GitHub releases.`,
|
||||||
);
|
);
|
||||||
return await downloadVersionFromGithub(
|
return await downloadVersionFromGithub(
|
||||||
@@ -127,13 +130,22 @@ function getExtension(platform: Platform): string {
|
|||||||
|
|
||||||
export async function resolveVersion(
|
export async function resolveVersion(
|
||||||
versionInput: string,
|
versionInput: string,
|
||||||
|
manifestFile: string | undefined,
|
||||||
githubToken: string,
|
githubToken: string,
|
||||||
): Promise<string> {
|
): Promise<string> {
|
||||||
core.debug(`Resolving version: ${versionInput}`);
|
core.debug(`Resolving version: ${versionInput}`);
|
||||||
const version =
|
let version: string;
|
||||||
versionInput === "latest"
|
if (manifestFile) {
|
||||||
? await getLatestVersion(githubToken)
|
version =
|
||||||
: versionInput;
|
versionInput === "latest"
|
||||||
|
? await getLatestVersionInManifest(manifestFile)
|
||||||
|
: versionInput;
|
||||||
|
} else {
|
||||||
|
version =
|
||||||
|
versionInput === "latest"
|
||||||
|
? await getLatestVersion(githubToken)
|
||||||
|
: versionInput;
|
||||||
|
}
|
||||||
if (tc.isExplicitVersion(version)) {
|
if (tc.isExplicitVersion(version)) {
|
||||||
core.debug(`Version ${version} is an explicit version.`);
|
core.debug(`Version ${version} is an explicit version.`);
|
||||||
return version;
|
return version;
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ async function setupUv(
|
|||||||
checkSum: string | undefined,
|
checkSum: string | undefined,
|
||||||
githubToken: string,
|
githubToken: string,
|
||||||
): Promise<{ uvDir: string; version: string }> {
|
): Promise<{ uvDir: string; version: string }> {
|
||||||
const resolvedVersion = await determineVersion();
|
const resolvedVersion = await determineVersion(manifestFile);
|
||||||
const toolCacheResult = tryGetFromToolCache(arch, resolvedVersion);
|
const toolCacheResult = tryGetFromToolCache(arch, resolvedVersion);
|
||||||
if (toolCacheResult.installedPath) {
|
if (toolCacheResult.installedPath) {
|
||||||
core.info(`Found uv in tool-cache for ${toolCacheResult.version}`);
|
core.info(`Found uv in tool-cache for ${toolCacheResult.version}`);
|
||||||
@@ -127,9 +127,11 @@ async function setupUv(
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
async function determineVersion(): Promise<string> {
|
async function determineVersion(
|
||||||
|
manifestFile: string | undefined,
|
||||||
|
): Promise<string> {
|
||||||
if (versionInput !== "") {
|
if (versionInput !== "") {
|
||||||
return await resolveVersion(versionInput, githubToken);
|
return await resolveVersion(versionInput, manifestFile, githubToken);
|
||||||
}
|
}
|
||||||
const versionFromUvToml = getUvVersionFromConfigFile(
|
const versionFromUvToml = getUvVersionFromConfigFile(
|
||||||
`${workingDirectory}${path.sep}uv.toml`,
|
`${workingDirectory}${path.sep}uv.toml`,
|
||||||
@@ -144,6 +146,7 @@ async function determineVersion(): Promise<string> {
|
|||||||
}
|
}
|
||||||
return await resolveVersion(
|
return await resolveVersion(
|
||||||
versionFromUvToml || versionFromPyproject || "latest",
|
versionFromUvToml || versionFromPyproject || "latest",
|
||||||
|
manifestFile,
|
||||||
githubToken,
|
githubToken,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,130 @@
|
|||||||
[
|
[
|
||||||
|
{
|
||||||
|
"version": "0.7.14",
|
||||||
|
"artifactName": "uv-aarch64-apple-darwin.tar.gz",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"platform": "apple-darwin",
|
||||||
|
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-aarch64-apple-darwin.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "0.7.14",
|
||||||
|
"artifactName": "uv-aarch64-pc-windows-msvc.zip",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"platform": "pc-windows-msvc",
|
||||||
|
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-aarch64-pc-windows-msvc.zip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "0.7.14",
|
||||||
|
"artifactName": "uv-aarch64-unknown-linux-gnu.tar.gz",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"platform": "unknown-linux-gnu",
|
||||||
|
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-aarch64-unknown-linux-gnu.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "0.7.14",
|
||||||
|
"artifactName": "uv-aarch64-unknown-linux-musl.tar.gz",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"platform": "unknown-linux-musl",
|
||||||
|
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-aarch64-unknown-linux-musl.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "0.7.14",
|
||||||
|
"artifactName": "uv-arm-unknown-linux-musleabihf.tar.gz",
|
||||||
|
"arch": "arm",
|
||||||
|
"platform": "unknown-linux-musleabihf",
|
||||||
|
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-arm-unknown-linux-musleabihf.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "0.7.14",
|
||||||
|
"artifactName": "uv-armv7-unknown-linux-gnueabihf.tar.gz",
|
||||||
|
"arch": "armv7",
|
||||||
|
"platform": "unknown-linux-gnueabihf",
|
||||||
|
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-armv7-unknown-linux-gnueabihf.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "0.7.14",
|
||||||
|
"artifactName": "uv-armv7-unknown-linux-musleabihf.tar.gz",
|
||||||
|
"arch": "armv7",
|
||||||
|
"platform": "unknown-linux-musleabihf",
|
||||||
|
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-armv7-unknown-linux-musleabihf.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "0.7.14",
|
||||||
|
"artifactName": "uv-i686-pc-windows-msvc.zip",
|
||||||
|
"arch": "i686",
|
||||||
|
"platform": "pc-windows-msvc",
|
||||||
|
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-i686-pc-windows-msvc.zip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "0.7.14",
|
||||||
|
"artifactName": "uv-i686-unknown-linux-gnu.tar.gz",
|
||||||
|
"arch": "i686",
|
||||||
|
"platform": "unknown-linux-gnu",
|
||||||
|
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-i686-unknown-linux-gnu.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "0.7.14",
|
||||||
|
"artifactName": "uv-i686-unknown-linux-musl.tar.gz",
|
||||||
|
"arch": "i686",
|
||||||
|
"platform": "unknown-linux-musl",
|
||||||
|
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-i686-unknown-linux-musl.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "0.7.14",
|
||||||
|
"artifactName": "uv-powerpc64-unknown-linux-gnu.tar.gz",
|
||||||
|
"arch": "powerpc64",
|
||||||
|
"platform": "unknown-linux-gnu",
|
||||||
|
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-powerpc64-unknown-linux-gnu.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "0.7.14",
|
||||||
|
"artifactName": "uv-powerpc64le-unknown-linux-gnu.tar.gz",
|
||||||
|
"arch": "powerpc64le",
|
||||||
|
"platform": "unknown-linux-gnu",
|
||||||
|
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-powerpc64le-unknown-linux-gnu.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "0.7.14",
|
||||||
|
"artifactName": "uv-riscv64gc-unknown-linux-gnu.tar.gz",
|
||||||
|
"arch": "riscv64gc",
|
||||||
|
"platform": "unknown-linux-gnu",
|
||||||
|
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-riscv64gc-unknown-linux-gnu.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "0.7.14",
|
||||||
|
"artifactName": "uv-s390x-unknown-linux-gnu.tar.gz",
|
||||||
|
"arch": "s390x",
|
||||||
|
"platform": "unknown-linux-gnu",
|
||||||
|
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-s390x-unknown-linux-gnu.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "0.7.14",
|
||||||
|
"artifactName": "uv-x86_64-apple-darwin.tar.gz",
|
||||||
|
"arch": "x86_64",
|
||||||
|
"platform": "apple-darwin",
|
||||||
|
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-x86_64-apple-darwin.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "0.7.14",
|
||||||
|
"artifactName": "uv-x86_64-pc-windows-msvc.zip",
|
||||||
|
"arch": "x86_64",
|
||||||
|
"platform": "pc-windows-msvc",
|
||||||
|
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-x86_64-pc-windows-msvc.zip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "0.7.14",
|
||||||
|
"artifactName": "uv-x86_64-unknown-linux-gnu.tar.gz",
|
||||||
|
"arch": "x86_64",
|
||||||
|
"platform": "unknown-linux-gnu",
|
||||||
|
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-x86_64-unknown-linux-gnu.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "0.7.14",
|
||||||
|
"artifactName": "uv-x86_64-unknown-linux-musl.tar.gz",
|
||||||
|
"arch": "x86_64",
|
||||||
|
"platform": "unknown-linux-musl",
|
||||||
|
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-x86_64-unknown-linux-musl.tar.gz"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"version": "0.7.13",
|
"version": "0.7.13",
|
||||||
"artifactName": "uv-aarch64-apple-darwin.tar.gz",
|
"artifactName": "uv-aarch64-apple-darwin.tar.gz",
|
||||||
|
|||||||
Reference in New Issue
Block a user