Skip to content

Commit

Permalink
Add options to skip caching of folders. (#154)
Browse files Browse the repository at this point in the history
Add option to skip caching the Go package directory (~/go/pkg).
Add option to skip caching the Go build directory (~/.cache/go-build).
Update README to mention new options.
  • Loading branch information
smyrman committed Feb 14, 2021
1 parent e1ae6cf commit 0dd3083
Show file tree
Hide file tree
Showing 5 changed files with 63 additions and 4 deletions.
8 changes: 7 additions & 1 deletion README.md
Expand Up @@ -48,8 +48,14 @@ jobs:
# Optional: show only new issues if it's a pull request. The default value is `false`.
# only-new-issues: true

# Optional: if set to true then the action will use pre-installed Go
# Optional: if set to true then the action will use pre-installed Go.
# skip-go-installation: true

# Optional: if set to true then the action don't cache or restore ~/go/pkg.
# skip-pkg-cache: true

# Optional: if set to true then the action don't cache or restore ~/.cache/go-build.
# skip-build-cache: true
```

We recommend running this action in a job separate from other jobs (`go test`, etc)
Expand Down
8 changes: 8 additions & 0 deletions action.yml
Expand Up @@ -24,6 +24,14 @@ inputs:
description: "if set to true then action uses pre-installed Go"
default: false
required: true
skip-pkg-cache:
description: "if set to true then the action don't cache or restore ~/go/pkg."
default: false
required: true
skip-build-cache:
description: "if set to true then the action don't cache or restore ~/.cache/go-build."
default: false
required: true
runs:
using: "node12"
main: "dist/run/index.js"
Expand Down
17 changes: 16 additions & 1 deletion dist/post_run/index.js
Expand Up @@ -49992,7 +49992,22 @@ const getLintCacheDir = () => {
};
const getCacheDirs = () => {
// Not existing dirs are ok here: it works.
return [getLintCacheDir(), path_1.default.resolve(`${process.env.HOME}/.cache/go-build`), path_1.default.resolve(`${process.env.HOME}/go/pkg`)];
const skipPkgCache = core.getInput(`skip-pkg-cache`, { required: true }).trim();
const skipBuildCache = core.getInput(`skip-build-cache`, { required: true }).trim();
const dirs = [getLintCacheDir()];
if (skipBuildCache.toLowerCase() == "true") {
core.info(`Omitting ~/.cache/go-build from cache directories`);
}
else {
dirs.push(path_1.default.resolve(`${process.env.HOME}/.cache/go-build`));
}
if (skipPkgCache.toLowerCase() == "true") {
core.info(`Omitting ~/go/pkg from cache directories`);
}
else {
dirs.push(path_1.default.resolve(`${process.env.HOME}/go/pkg`));
}
return dirs;
};
const getIntervalKey = (invalidationIntervalDays) => {
const now = new Date();
Expand Down
17 changes: 16 additions & 1 deletion dist/run/index.js
Expand Up @@ -50002,7 +50002,22 @@ const getLintCacheDir = () => {
};
const getCacheDirs = () => {
// Not existing dirs are ok here: it works.
return [getLintCacheDir(), path_1.default.resolve(`${process.env.HOME}/.cache/go-build`), path_1.default.resolve(`${process.env.HOME}/go/pkg`)];
const skipPkgCache = core.getInput(`skip-pkg-cache`, { required: true }).trim();
const skipBuildCache = core.getInput(`skip-build-cache`, { required: true }).trim();
const dirs = [getLintCacheDir()];
if (skipBuildCache.toLowerCase() == "true") {
core.info(`Omitting ~/.cache/go-build from cache directories`);
}
else {
dirs.push(path_1.default.resolve(`${process.env.HOME}/.cache/go-build`));
}
if (skipPkgCache.toLowerCase() == "true") {
core.info(`Omitting ~/go/pkg from cache directories`);
}
else {
dirs.push(path_1.default.resolve(`${process.env.HOME}/go/pkg`));
}
return dirs;
};
const getIntervalKey = (invalidationIntervalDays) => {
const now = new Date();
Expand Down
17 changes: 16 additions & 1 deletion src/cache.ts
Expand Up @@ -25,7 +25,22 @@ const getLintCacheDir = (): string => {

const getCacheDirs = (): string[] => {
// Not existing dirs are ok here: it works.
return [getLintCacheDir(), path.resolve(`${process.env.HOME}/.cache/go-build`), path.resolve(`${process.env.HOME}/go/pkg`)]
const skipPkgCache = core.getInput(`skip-pkg-cache`, { required: true }).trim()
const skipBuildCache = core.getInput(`skip-build-cache`, { required: true }).trim()
const dirs = [getLintCacheDir()]

if (skipBuildCache.toLowerCase() == "true") {
core.info(`Omitting ~/.cache/go-build from cache directories`)
} else {
dirs.push(path.resolve(`${process.env.HOME}/.cache/go-build`))
}
if (skipPkgCache.toLowerCase() == "true") {
core.info(`Omitting ~/go/pkg from cache directories`)
} else {
dirs.push(path.resolve(`${process.env.HOME}/go/pkg`))
}

return dirs
}

const getIntervalKey = (invalidationIntervalDays: number): string => {
Expand Down

0 comments on commit 0dd3083

Please sign in to comment.