Hint enabling cache if not already enabled.

This commit is contained in:
Webber 2020-01-27 23:02:32 +01:00 committed by Webber Takken
parent 37d5ce498f
commit fe2311ef4b
5 changed files with 37 additions and 3 deletions

File diff suppressed because one or more lines are too long

View File

@ -1,9 +1,10 @@
import { Action, Docker, Input, ImageTag, BuildParameters } from './model'; import { Action, BuildParameters, Cache, Docker, Input, ImageTag } from './model';
const core = require('@actions/core'); const core = require('@actions/core');
async function action() { async function action() {
Action.checkCompatibility(); Action.checkCompatibility();
Cache.verify();
const { dockerfile, workspace, builderFolder } = Action; const { dockerfile, workspace, builderFolder } = Action;
const buildParameters = BuildParameters.create(Input.getFromUser()); const buildParameters = BuildParameters.create(Input.getFromUser());

23
src/model/cache.js Normal file
View File

@ -0,0 +1,23 @@
import fs from 'fs';
import Action from './action';
import Project from './project';
class Cache {
static verify() {
if (!fs.existsSync(Project.libraryFolder)) {
this.notifyAboutCachingPossibility();
}
}
static notifyAboutCachingPossibility() {
if (Action.isRunningLocally) {
return;
}
console.log('Library folder does not exist.');
console.log('Consider setting up caching to speed up your workflow.');
console.log('If this is not your first build.');
}
}
export default Cache;

9
src/model/cache.test.js Normal file
View File

@ -0,0 +1,9 @@
import Cache from './cache';
describe('Cache', () => {
describe('Verification', () => {
it('does not throw', () => {
expect(() => Cache.verify()).not.toThrow();
});
});
});

View File

@ -1,8 +1,9 @@
import Action from './action'; import Action from './action';
import BuildParameters from './build-parameters'; import BuildParameters from './build-parameters';
import Cache from './cache';
import Docker from './docker'; import Docker from './docker';
import Input from './input'; import Input from './input';
import ImageTag from './image-tag'; import ImageTag from './image-tag';
import Platform from './platform'; import Platform from './platform';
export { Action, BuildParameters, Docker, Input, ImageTag, Platform }; export { Action, BuildParameters, Cache, Docker, Input, ImageTag, Platform };