mirror of https://github.com/actions/cache.git
Merge pull request #1016 from actions/bishal/outputter
Refactor setting output and state into a generic outputterpull/1018/head
commit
e3d8fb0b34
@ -0,0 +1,16 @@
|
||||
import * as core from "@actions/core";
|
||||
|
||||
export interface IOutputSetter {
|
||||
setOutput(key: string, value: string): void;
|
||||
setState(key: string, value: string): void;
|
||||
}
|
||||
|
||||
export class StateOutputSetter implements IOutputSetter {
|
||||
setOutput = core.setOutput;
|
||||
setState = core.saveState;
|
||||
}
|
||||
|
||||
export class NonStateOuputSetter implements IOutputSetter {
|
||||
setOutput = core.setOutput;
|
||||
setState = core.setOutput;
|
||||
}
|
@ -1,22 +1,8 @@
|
||||
import * as core from "@actions/core";
|
||||
|
||||
import { Inputs } from "./constants";
|
||||
import { StateOutputSetter } from "./outputSetter";
|
||||
import run from "./restoreImpl";
|
||||
import * as utils from "./utils/actionUtils";
|
||||
|
||||
async function restore(): Promise<void> {
|
||||
const cacheKey = await run();
|
||||
if (cacheKey) {
|
||||
// Store the matched cache key in states
|
||||
utils.setCacheState(cacheKey);
|
||||
|
||||
const isExactKeyMatch = utils.isExactKeyMatch(
|
||||
core.getInput(Inputs.Key, { required: true }),
|
||||
cacheKey
|
||||
);
|
||||
utils.setCacheHitOutput(isExactKeyMatch);
|
||||
core.info(`Cache restored from key: ${cacheKey}`);
|
||||
}
|
||||
await run(new StateOutputSetter());
|
||||
}
|
||||
|
||||
export default restore;
|
||||
|
@ -1,17 +1,8 @@
|
||||
import * as core from "@actions/core";
|
||||
|
||||
import { Outputs } from "./constants";
|
||||
import { NonStateOuputSetter } from "./outputSetter";
|
||||
import run from "./restoreImpl";
|
||||
import * as utils from "./utils/actionUtils";
|
||||
|
||||
async function restoreOnly(): Promise<void> {
|
||||
const cacheKey = await run();
|
||||
if (cacheKey) {
|
||||
// Store the matched cache key in output
|
||||
core.setOutput(Outputs.Key, utils.getCacheState());
|
||||
|
||||
core.info(`Cache restored from key: ${cacheKey}`);
|
||||
}
|
||||
await run(new NonStateOuputSetter());
|
||||
}
|
||||
|
||||
export default restoreOnly;
|
||||
|
Loading…
Reference in New Issue