mirror of
				https://github.com/actions/setup-node.git
				synced 2025-11-04 05:19:11 +08:00 
			
		
		
		
	Revise isGhes logic (#1148)
				
					
				
			* Revise `isGhes` logic * ran 'npm run format' * added unit test
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							aca7b64a59
						
					
				
				
					commit
					abb238b131
				
			@@ -6,7 +6,7 @@ import {
 | 
			
		||||
  PackageManagerInfo,
 | 
			
		||||
  isCacheFeatureAvailable,
 | 
			
		||||
  supportedPackageManagers,
 | 
			
		||||
  getCommandOutput,
 | 
			
		||||
  isGhes,
 | 
			
		||||
  resetProjectDirectoriesMemoized
 | 
			
		||||
} from '../src/cache-utils';
 | 
			
		||||
import fs from 'fs';
 | 
			
		||||
@@ -361,3 +361,41 @@ describe('cache-utils', () => {
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
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', () => {
 | 
			
		||||
    delete process.env['GITHUB_SERVER_URL'];
 | 
			
		||||
    expect(isGhes()).toBeFalsy();
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('returns false when the GITHUB_SERVER_URL environment variable is set to github.com', () => {
 | 
			
		||||
    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', () => {
 | 
			
		||||
    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', () => {
 | 
			
		||||
    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', () => {
 | 
			
		||||
    process.env['GITHUB_SERVER_URL'] = 'https://src.onpremise.fabrikam.com';
 | 
			
		||||
    expect(isGhes()).toBeTruthy();
 | 
			
		||||
  });
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							@@ -83977,7 +83977,11 @@ const repoHasYarnBerryManagedDependencies = (packageManagerInfo, cacheDependency
 | 
			
		||||
exports.repoHasYarnBerryManagedDependencies = repoHasYarnBerryManagedDependencies;
 | 
			
		||||
function isGhes() {
 | 
			
		||||
    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;
 | 
			
		||||
}
 | 
			
		||||
exports.isGhes = isGhes;
 | 
			
		||||
function isCacheFeatureAvailable() {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							@@ -93598,7 +93598,11 @@ const repoHasYarnBerryManagedDependencies = (packageManagerInfo, cacheDependency
 | 
			
		||||
exports.repoHasYarnBerryManagedDependencies = repoHasYarnBerryManagedDependencies;
 | 
			
		||||
function isGhes() {
 | 
			
		||||
    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;
 | 
			
		||||
}
 | 
			
		||||
exports.isGhes = isGhes;
 | 
			
		||||
function isCacheFeatureAvailable() {
 | 
			
		||||
 
 | 
			
		||||
@@ -295,7 +295,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 {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user