mirror of
https://github.com/actions/setup-python.git
synced 2025-08-27 11:14:15 +00:00
Merge 656324a07e5b7bb9d7433611c71602f52299436e into 9322b3ca74000aeb2c01eb777b646334015ddd72
This commit is contained in:
commit
4dd41bff15
@ -31,6 +31,8 @@ inputs:
|
||||
default: false
|
||||
pip-version:
|
||||
description: "Used to specify the version of pip to install with the Python. Supported format: major[.minor][.patch]."
|
||||
python_download_base_url:
|
||||
description: "Used to specify an alternative base URL to download the python releases instead of github.com. The Action will try to download the python releases from <python_download_base_url>/<release version>/<python version tar file>"
|
||||
outputs:
|
||||
python-version:
|
||||
description: "The installed Python or PyPy version. Useful when given a version range as input."
|
||||
|
5
dist/setup/index.js
vendored
5
dist/setup/index.js
vendored
@ -97762,6 +97762,7 @@ const MANIFEST_REPO_OWNER = 'actions';
|
||||
const MANIFEST_REPO_NAME = 'python-versions';
|
||||
const MANIFEST_REPO_BRANCH = 'main';
|
||||
exports.MANIFEST_URL = `https://raw.githubusercontent.com/${MANIFEST_REPO_OWNER}/${MANIFEST_REPO_NAME}/${MANIFEST_REPO_BRANCH}/versions-manifest.json`;
|
||||
const PYTHON_DOWNLOAD_BASE_URL = core.getInput('python_download_base_url');
|
||||
function findReleaseFromManifest(semanticVersionSpec, architecture, manifest) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
if (!manifest) {
|
||||
@ -97852,7 +97853,9 @@ function installCpythonFromRelease(release) {
|
||||
if (!release.files || release.files.length === 0) {
|
||||
throw new Error('No files found in the release to download.');
|
||||
}
|
||||
const downloadUrl = release.files[0].download_url;
|
||||
const downloadUrl = !PYTHON_DOWNLOAD_BASE_URL
|
||||
? release.files[0].download_url
|
||||
: release.files[0].download_url.replace('https://github.com/actions/python-versions/releases/download', PYTHON_DOWNLOAD_BASE_URL);
|
||||
core.info(`Download from "${downloadUrl}"`);
|
||||
let pythonPath = '';
|
||||
try {
|
||||
|
@ -623,7 +623,12 @@ One quick way to grant access is to change the user and group of `/Users/runner/
|
||||
|
||||
### No access to github.com
|
||||
|
||||
If the runner is not able to access github.com, any Python versions requested during a workflow run must come from the runner's tool cache. See "[Setting up the tool cache on self-hosted runners without internet access](https://docs.github.com/en/enterprise-server/admin/github-actions/managing-access-to-actions-from-githubcom/setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access)" for more information.
|
||||
If the runner is not able to access github.com, any Python versions requested during a workflow run must come from the runner's tool cache or defining and alternative mirror to download the distributions. See "[Setting up the tool cache on self-hosted runners without internet access](https://docs.github.com/en/enterprise-server/admin/github-actions/managing-access-to-actions-from-githubcom/setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access)" for more information.
|
||||
|
||||
### Using an alternative location to download Python distributions
|
||||
|
||||
If it is not an option for you to add the Python distributions in the runner's tool cache, another option is to have some mirror or files repository in your company network. You can define the mirror URL using the input `python_download_base_url`. The mirror must be setup in such a way that the Python distributions are available with the format `<python_download_base_url>/<release version>/<python version tar file>`. For example `<python_download_base_url>/3.10.18-15433209320/python-3.10.18-linux-22.04-x64.tar.gz`
|
||||
|
||||
|
||||
|
||||
## Allow pre-releases
|
||||
|
@ -13,6 +13,7 @@ const MANIFEST_REPO_OWNER = 'actions';
|
||||
const MANIFEST_REPO_NAME = 'python-versions';
|
||||
const MANIFEST_REPO_BRANCH = 'main';
|
||||
export const MANIFEST_URL = `https://raw.githubusercontent.com/${MANIFEST_REPO_OWNER}/${MANIFEST_REPO_NAME}/${MANIFEST_REPO_BRANCH}/versions-manifest.json`;
|
||||
const PYTHON_DOWNLOAD_BASE_URL = core.getInput('python_download_base_url');
|
||||
|
||||
export async function findReleaseFromManifest(
|
||||
semanticVersionSpec: string,
|
||||
@ -124,7 +125,12 @@ export async function installCpythonFromRelease(release: tc.IToolRelease) {
|
||||
if (!release.files || release.files.length === 0) {
|
||||
throw new Error('No files found in the release to download.');
|
||||
}
|
||||
const downloadUrl = release.files[0].download_url;
|
||||
const downloadUrl = !PYTHON_DOWNLOAD_BASE_URL
|
||||
? release.files[0].download_url
|
||||
: release.files[0].download_url.replace(
|
||||
'https://github.com/actions/python-versions/releases/download',
|
||||
PYTHON_DOWNLOAD_BASE_URL
|
||||
);
|
||||
|
||||
core.info(`Download from "${downloadUrl}"`);
|
||||
let pythonPath = '';
|
||||
|
Loading…
x
Reference in New Issue
Block a user