mirror of https://github.com/actions/setup-python
Compare commits
5 Commits
e9b7168695
...
f12febe2cb
Author | SHA1 | Date |
---|---|---|
Remi Cattiau | f12febe2cb | |
aparnajyothi-y | 9c76e71650 | |
John Wesley Walker III | f4c5a1183d | |
Remi Cattiau | 05b0430d2d | |
Remi Cattiau | 427878c2d3 |
|
@ -30,7 +30,7 @@ pdf2image==1.12.1
|
|||
|
||||
pefile==2021.9.3; python_full_version >= '3.6.0'
|
||||
|
||||
pillow==7.2
|
||||
pillow>=10.2.0
|
||||
|
||||
pygments==2.6.1
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@ import {
|
|||
getVersionInputFromPlainFile,
|
||||
getVersionInputFromTomlFile,
|
||||
getNextPageUrl,
|
||||
isGhes,
|
||||
IS_WINDOWS,
|
||||
getDownloadFileName
|
||||
} from '../src/utils';
|
||||
|
@ -195,3 +196,41 @@ describe('getDownloadFileName', () => {
|
|||
}
|
||||
});
|
||||
});
|
||||
|
||||
describe('isGhes', () => {
|
||||
const pristineEnv = process.env;
|
||||
|
||||
beforeEach(() => {
|
||||
jest.resetModules();
|
||||
process.env = {...pristineEnv};
|
||||
});
|
||||
|
||||
afterAll(() => {
|
||||
process.env = pristineEnv;
|
||||
});
|
||||
|
||||
it('returns false when the GITHUB_SERVER_URL environment variable is not defined', async () => {
|
||||
delete process.env['GITHUB_SERVER_URL'];
|
||||
expect(isGhes()).toBeFalsy();
|
||||
});
|
||||
|
||||
it('returns false when the GITHUB_SERVER_URL environment variable is set to github.com', async () => {
|
||||
process.env['GITHUB_SERVER_URL'] = 'https://github.com';
|
||||
expect(isGhes()).toBeFalsy();
|
||||
});
|
||||
|
||||
it('returns false when the GITHUB_SERVER_URL environment variable is set to a GitHub Enterprise Cloud-style URL', async () => {
|
||||
process.env['GITHUB_SERVER_URL'] = 'https://contoso.ghe.com';
|
||||
expect(isGhes()).toBeFalsy();
|
||||
});
|
||||
|
||||
it('returns false when the GITHUB_SERVER_URL environment variable has a .localhost suffix', async () => {
|
||||
process.env['GITHUB_SERVER_URL'] = 'https://mock-github.localhost';
|
||||
expect(isGhes()).toBeFalsy();
|
||||
});
|
||||
|
||||
it('returns true when the GITHUB_SERVER_URL environment variable is set to some other URL', async () => {
|
||||
process.env['GITHUB_SERVER_URL'] = 'https://src.onpremise.fabrikam.com';
|
||||
expect(isGhes()).toBeTruthy();
|
||||
});
|
||||
});
|
||||
|
|
|
@ -26,6 +26,10 @@ inputs:
|
|||
allow-prereleases:
|
||||
description: "When 'true', a version range passed to 'python-version' input will match prerelease versions if no GA versions are found. Only 'x.y' version range is supported for CPython."
|
||||
default: false
|
||||
ignore-platform-version:
|
||||
description: "Ignore the specific platform version to allow usage on Debian"
|
||||
default: ""
|
||||
required: false
|
||||
outputs:
|
||||
python-version:
|
||||
description: "The installed Python or PyPy version. Useful when given a version range as input."
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -34,7 +34,23 @@ export async function findReleaseFromManifest(
|
|||
|
||||
export async function getManifest(): Promise<tc.IToolRelease[]> {
|
||||
try {
|
||||
return await getManifestFromRepo();
|
||||
const manifest = await getManifestFromRepo();
|
||||
|
||||
if (core.getInput('ignore-platform-version')) {
|
||||
// Display each tool
|
||||
manifest.forEach(tool => {
|
||||
tool.files.forEach(f => {
|
||||
if (
|
||||
f.platform_version === core.getInput('ignore-platform-version') ||
|
||||
'all' === core.getInput('ignore-platform-version')
|
||||
) {
|
||||
f.platform_version = undefined;
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
return manifest;
|
||||
} catch (err) {
|
||||
core.debug('Fetching the manifest via the API failed.');
|
||||
if (err instanceof Error) {
|
||||
|
|
|
@ -116,7 +116,13 @@ export function isGhes(): boolean {
|
|||
const ghUrl = new URL(
|
||||
process.env['GITHUB_SERVER_URL'] || 'https://github.com'
|
||||
);
|
||||
return ghUrl.hostname.toUpperCase() !== 'GITHUB.COM';
|
||||
|
||||
const hostname = ghUrl.hostname.trimEnd().toUpperCase();
|
||||
const isGitHubHost = hostname === 'GITHUB.COM';
|
||||
const isGitHubEnterpriseCloudHost = hostname.endsWith('.GHE.COM');
|
||||
const isLocalHost = hostname.endsWith('.LOCALHOST');
|
||||
|
||||
return !isGitHubHost && !isGitHubEnterpriseCloudHost && !isLocalHost;
|
||||
}
|
||||
|
||||
export function isCacheFeatureAvailable(): boolean {
|
||||
|
|
Loading…
Reference in New Issue