mirror of
https://github.com/actions/setup-go
synced 2024-12-22 14:22:41 +00:00
fix(cache): Not throw err if no cache folders
This commit is contained in:
parent
be45b2722d
commit
5547b9ed8d
2 changed files with 17 additions and 18 deletions
|
@ -98,15 +98,15 @@ describe('setup-go', () => {
|
||||||
logSpy = jest.spyOn(core, 'info');
|
logSpy = jest.spyOn(core, 'info');
|
||||||
dbgSpy = jest.spyOn(core, 'debug');
|
dbgSpy = jest.spyOn(core, 'debug');
|
||||||
getSpy.mockImplementation(() => <im.IGoVersion[] | null>goJsonData);
|
getSpy.mockImplementation(() => <im.IGoVersion[] | null>goJsonData);
|
||||||
cnSpy.mockImplementation(line => {
|
cnSpy.mockImplementation((line) => {
|
||||||
// uncomment to debug
|
// uncomment to debug
|
||||||
// process.stderr.write('write:' + line + '\n');
|
// process.stderr.write('write:' + line + '\n');
|
||||||
});
|
});
|
||||||
logSpy.mockImplementation(line => {
|
logSpy.mockImplementation((line) => {
|
||||||
// uncomment to debug
|
// uncomment to debug
|
||||||
//process.stderr.write('log:' + line + '\n');
|
//process.stderr.write('log:' + line + '\n');
|
||||||
});
|
});
|
||||||
dbgSpy.mockImplementation(msg => {
|
dbgSpy.mockImplementation((line) => {
|
||||||
// uncomment to see debug output
|
// uncomment to see debug output
|
||||||
// process.stderr.write(msg + '\n');
|
// process.stderr.write(msg + '\n');
|
||||||
});
|
});
|
||||||
|
@ -295,7 +295,6 @@ describe('setup-go', () => {
|
||||||
findSpy.mockImplementation(() => toolPath);
|
findSpy.mockImplementation(() => toolPath);
|
||||||
await main.run();
|
await main.run();
|
||||||
|
|
||||||
let expPath = path.join(toolPath, 'bin');
|
|
||||||
expect(logSpy).toHaveBeenCalledWith(`Found in cache @ ${toolPath}`);
|
expect(logSpy).toHaveBeenCalledWith(`Found in cache @ ${toolPath}`);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -462,9 +461,6 @@ describe('setup-go', () => {
|
||||||
inputs['go-version'] = versionSpec;
|
inputs['go-version'] = versionSpec;
|
||||||
inputs['token'] = 'faketoken';
|
inputs['token'] = 'faketoken';
|
||||||
|
|
||||||
let expectedUrl =
|
|
||||||
'https://github.com/actions/go-versions/releases/download/1.12.14-20200616.18/go-1.12.14-linux-x64.tar.gz';
|
|
||||||
|
|
||||||
// ... but not in the local cache
|
// ... but not in the local cache
|
||||||
findSpy.mockImplementation(() => '');
|
findSpy.mockImplementation(() => '');
|
||||||
|
|
||||||
|
@ -526,7 +522,7 @@ describe('setup-go', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
mkdirpSpy.mockImplementation(async () => {});
|
mkdirpSpy.mockImplementation(async () => {});
|
||||||
existsSpy.mockImplementation(path => {
|
existsSpy.mockImplementation(() => {
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -707,8 +703,6 @@ describe('setup-go', () => {
|
||||||
const toolPath = path.normalize('/cache/go/1.17.5/x64');
|
const toolPath = path.normalize('/cache/go/1.17.5/x64');
|
||||||
extractTarSpy.mockImplementation(async () => '/some/other/temp/path');
|
extractTarSpy.mockImplementation(async () => '/some/other/temp/path');
|
||||||
cacheSpy.mockImplementation(async () => toolPath);
|
cacheSpy.mockImplementation(async () => toolPath);
|
||||||
const expectedUrl =
|
|
||||||
'https://github.com/actions/go-versions/releases/download/1.17.6-1668090892/go-1.17.6-darwin-x64.tar.gz';
|
|
||||||
|
|
||||||
await main.run();
|
await main.run();
|
||||||
|
|
||||||
|
@ -834,7 +828,7 @@ exclude example.com/thismodule v1.3.0
|
||||||
|
|
||||||
it('reads version from go.mod', async () => {
|
it('reads version from go.mod', async () => {
|
||||||
inputs['go-version-file'] = 'go.mod';
|
inputs['go-version-file'] = 'go.mod';
|
||||||
existsSpy.mockImplementation(path => true);
|
existsSpy.mockImplementation(() => true);
|
||||||
readFileSpy.mockImplementation(() => Buffer.from(goModContents));
|
readFileSpy.mockImplementation(() => Buffer.from(goModContents));
|
||||||
|
|
||||||
await main.run();
|
await main.run();
|
||||||
|
@ -846,7 +840,7 @@ exclude example.com/thismodule v1.3.0
|
||||||
|
|
||||||
it('reads version from .go-version', async () => {
|
it('reads version from .go-version', async () => {
|
||||||
inputs['go-version-file'] = '.go-version';
|
inputs['go-version-file'] = '.go-version';
|
||||||
existsSpy.mockImplementation(path => true);
|
existsSpy.mockImplementation(() => true);
|
||||||
readFileSpy.mockImplementation(() => Buffer.from(`1.13.0${osm.EOL}`));
|
readFileSpy.mockImplementation(() => Buffer.from(`1.13.0${osm.EOL}`));
|
||||||
|
|
||||||
await main.run();
|
await main.run();
|
||||||
|
@ -859,7 +853,7 @@ exclude example.com/thismodule v1.3.0
|
||||||
it('is overwritten by go-version', async () => {
|
it('is overwritten by go-version', async () => {
|
||||||
inputs['go-version'] = '1.13.1';
|
inputs['go-version'] = '1.13.1';
|
||||||
inputs['go-version-file'] = 'go.mod';
|
inputs['go-version-file'] = 'go.mod';
|
||||||
existsSpy.mockImplementation(path => true);
|
existsSpy.mockImplementation(() => true);
|
||||||
readFileSpy.mockImplementation(() => Buffer.from(goModContents));
|
readFileSpy.mockImplementation(() => Buffer.from(goModContents));
|
||||||
|
|
||||||
await main.run();
|
await main.run();
|
||||||
|
@ -871,7 +865,7 @@ exclude example.com/thismodule v1.3.0
|
||||||
|
|
||||||
it('reports a read failure', async () => {
|
it('reports a read failure', async () => {
|
||||||
inputs['go-version-file'] = 'go.mod';
|
inputs['go-version-file'] = 'go.mod';
|
||||||
existsSpy.mockImplementation(path => false);
|
existsSpy.mockImplementation(() => false);
|
||||||
|
|
||||||
await main.run();
|
await main.run();
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,14 @@ export async function run() {
|
||||||
try {
|
try {
|
||||||
await cachePackages();
|
await cachePackages();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
core.setFailed(error.message);
|
let message = 'Unknown error!';
|
||||||
|
if (error instanceof Error) {
|
||||||
|
message = error.message;
|
||||||
|
}
|
||||||
|
if (typeof error === 'string') {
|
||||||
|
message = error;
|
||||||
|
}
|
||||||
|
core.setFailed(message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,9 +48,7 @@ const cachePackages = async () => {
|
||||||
|
|
||||||
if (nonExistingPaths.length === cachePaths.length) {
|
if (nonExistingPaths.length === cachePaths.length) {
|
||||||
core.warning(`There are no cache folders on the disk`);
|
core.warning(`There are no cache folders on the disk`);
|
||||||
logWarning(`There are no cache folders on the disk`)
|
|
||||||
return;
|
return;
|
||||||
throw new Error(`There are no cache folders on the disk`);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nonExistingPaths.length) {
|
if (nonExistingPaths.length) {
|
||||||
|
@ -68,7 +73,7 @@ const cachePackages = async () => {
|
||||||
core.info(`Cache saved with the key: ${primaryKey}`);
|
core.info(`Cache saved with the key: ${primaryKey}`);
|
||||||
};
|
};
|
||||||
|
|
||||||
export function logWarning(message: string): void {
|
function logWarning(message: string): void {
|
||||||
const warningPrefix = '[warning]';
|
const warningPrefix = '[warning]';
|
||||||
core.info(`${warningPrefix}${message}`);
|
core.info(`${warningPrefix}${message}`);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue