@dusksystems/nix-cache-action 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE-APACHE +176 -0
- package/LICENSE-MIT +23 -0
- package/README.md +68 -0
- package/action.yml +25 -0
- package/dist/.vite/license.md +1147 -0
- package/dist/restore.js +23 -0
- package/dist/restore.js.map +1 -0
- package/dist/save.js +30 -0
- package/dist/save.js.map +1 -0
- package/dist/snapshot-uyE_Mka3.js +35632 -0
- package/dist/snapshot-uyE_Mka3.js.map +1 -0
- package/package.json +37 -0
package/dist/restore.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { a as e, d as t, f as n, i as r, l as i, n as a, r as o, s, t as c, u as l } from "./snapshot-uyE_Mka3.js";
|
|
2
|
+
//#region src/restore.ts
|
|
3
|
+
var u = async () => {
|
|
4
|
+
let t = await r.load();
|
|
5
|
+
i(t.version);
|
|
6
|
+
let u = s("key", { required: !0 }), d = s("restore-keys").split("\n").map((e) => e.trim()).filter(Boolean);
|
|
7
|
+
await o.init();
|
|
8
|
+
let f = await e([o.path], u, d);
|
|
9
|
+
i(f === void 0 ? "Cache miss" : `Cache restored from key: ${f}`);
|
|
10
|
+
let p = f === u;
|
|
11
|
+
n("cache-hit", String(p)), l("key", u), p && l("matched-key", f), await t.register(o.path);
|
|
12
|
+
let m = a.open(), h = c.take(m);
|
|
13
|
+
m.close(), await h.save(), i(`Store snapshot: ${h.activePaths.size} paths`);
|
|
14
|
+
};
|
|
15
|
+
try {
|
|
16
|
+
await u();
|
|
17
|
+
} catch (e) {
|
|
18
|
+
e instanceof Error && t(e.message);
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
export {};
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=restore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restore.js","names":[],"sources":["../src/restore.ts"],"sourcesContent":["import * as actions from \"@actions/cache\";\nimport * as core from \"@actions/core\";\n\nimport { Cache } from \"./cache.ts\";\nimport { Db } from \"./db.ts\";\nimport { Nix } from \"./nix.ts\";\nimport { Snapshot } from \"./snapshot.ts\";\n\nconst main = async (): Promise<void> => {\n const nix = await Nix.load();\n core.info(nix.version);\n\n const key = core.getInput(\"key\", { required: true });\n const restoreKeys = core\n .getInput(\"restore-keys\")\n .split(\"\\n\")\n .map((line) => line.trim())\n .filter(Boolean);\n\n await Cache.init();\n\n const matchedKey = await actions.restoreCache([Cache.path], key, restoreKeys);\n if (matchedKey === undefined) {\n core.info(\"Cache miss\");\n } else {\n core.info(`Cache restored from key: ${matchedKey}`);\n }\n\n const cacheHit = matchedKey === key;\n core.setOutput(\"cache-hit\", String(cacheHit));\n core.saveState(\"key\", key);\n\n if (cacheHit) {\n core.saveState(\"matched-key\", matchedKey);\n }\n\n await nix.register(Cache.path);\n\n const db = Db.open();\n const snapshot = Snapshot.take(db);\n db.close();\n\n await snapshot.save();\n core.info(`Store snapshot: ${snapshot.activePaths.size} paths`);\n};\n\ntry {\n await main();\n} catch (error: unknown) {\n if (error instanceof Error) {\n core.setFailed(error.message);\n }\n}\n"],"mappings":";;AAQA,IAAM,IAAO,YAA2B;CACtC,IAAM,IAAM,MAAM,EAAI,MAAM;AAC5B,GAAU,EAAI,QAAQ;CAEtB,IAAM,IAAM,EAAc,OAAO,EAAE,UAAU,IAAM,CAAC,EAC9C,IAAc,EACR,eAAe,CACxB,MAAM,KAAK,CACX,KAAK,MAAS,EAAK,MAAM,CAAC,CAC1B,OAAO,QAAQ;AAElB,OAAM,EAAM,MAAM;CAElB,IAAM,IAAa,MAAM,EAAqB,CAAC,EAAM,KAAK,EAAE,GAAK,EAAY;AAC7E,CACE,EADE,MAAe,KAAA,IACP,eAEA,4BAA4B,IAAa;CAGrD,IAAM,IAAW,MAAe;AAQhC,CAPA,EAAe,aAAa,OAAO,EAAS,CAAC,EAC7C,EAAe,OAAO,EAAI,EAEtB,KACF,EAAe,eAAe,EAAW,EAG3C,MAAM,EAAI,SAAS,EAAM,KAAK;CAE9B,IAAM,IAAK,EAAG,MAAM,EACd,IAAW,EAAS,KAAK,EAAG;AAIlC,CAHA,EAAG,OAAO,EAEV,MAAM,EAAS,MAAM,EACrB,EAAU,mBAAmB,EAAS,YAAY,KAAK,QAAQ;;AAGjE,IAAI;AACF,OAAM,GAAM;SACL,GAAgB;AACvB,CAAI,aAAiB,SACnB,EAAe,EAAM,QAAQ"}
|
package/dist/save.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { c as e, d as t, i as n, l as r, n as i, o as a, r as o, t as s } from "./snapshot-uyE_Mka3.js";
|
|
2
|
+
//#region src/save.ts
|
|
3
|
+
var c = async () => {
|
|
4
|
+
let t = await n.load();
|
|
5
|
+
r(t.version);
|
|
6
|
+
let c = e("key");
|
|
7
|
+
if (e("matched-key") === c) {
|
|
8
|
+
r("Exact cache hit, skipping save");
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
let l = i.open(), u = await s.load(), d = s.take(l);
|
|
12
|
+
r(`Store snapshot: ${d.activePaths.size} paths`);
|
|
13
|
+
let f = d.diff(u);
|
|
14
|
+
r(`New paths: ${f.length}`);
|
|
15
|
+
let p = await o.open();
|
|
16
|
+
f.length > 0 && r(`Locally-built paths: ${await p.populate(f, l)}`), l.close();
|
|
17
|
+
let m = await p.gc(d.activePaths);
|
|
18
|
+
m.length > 0 && r(`GC: removed ${m.length} stale paths`);
|
|
19
|
+
let h = await p.sync(t.substituters);
|
|
20
|
+
h.length > 0 && r(`Substituter sync: removed ${h.length} paths now available upstream`), await a([o.path], c), r(`Cache saved with key: ${c}`);
|
|
21
|
+
};
|
|
22
|
+
try {
|
|
23
|
+
await c();
|
|
24
|
+
} catch (e) {
|
|
25
|
+
e instanceof Error && t(e.message);
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
export {};
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=save.js.map
|
package/dist/save.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"save.js","names":[],"sources":["../src/save.ts"],"sourcesContent":["import * as actions from \"@actions/cache\";\nimport * as core from \"@actions/core\";\n\nimport { Cache } from \"./cache.ts\";\nimport { Db } from \"./db.ts\";\nimport { Nix } from \"./nix.ts\";\nimport { Snapshot } from \"./snapshot.ts\";\n\nconst main = async (): Promise<void> => {\n const nix = await Nix.load();\n core.info(nix.version);\n\n const key = core.getState(\"key\");\n const matchedKey = core.getState(\"matched-key\");\n\n if (matchedKey === key) {\n core.info(\"Exact cache hit, skipping save\");\n return;\n }\n\n const db = Db.open();\n\n const before = await Snapshot.load();\n const after = Snapshot.take(db);\n core.info(`Store snapshot: ${after.activePaths.size} paths`);\n\n const newPaths = after.diff(before);\n core.info(`New paths: ${newPaths.length}`);\n\n const cache = await Cache.open();\n\n if (newPaths.length > 0) {\n const populated = await cache.populate(newPaths, db);\n core.info(`Locally-built paths: ${populated}`);\n }\n\n db.close();\n\n const stale = await cache.gc(after.activePaths);\n if (stale.length > 0) {\n core.info(`GC: removed ${stale.length} stale paths`);\n }\n\n const upstream = await cache.sync(nix.substituters);\n if (upstream.length > 0) {\n core.info(`Substituter sync: removed ${upstream.length} paths now available upstream`);\n }\n\n await actions.saveCache([Cache.path], key);\n core.info(`Cache saved with key: ${key}`);\n};\n\ntry {\n await main();\n} catch (error: unknown) {\n if (error instanceof Error) {\n core.setFailed(error.message);\n }\n}\n"],"mappings":";;AAQA,IAAM,IAAO,YAA2B;CACtC,IAAM,IAAM,MAAM,EAAI,MAAM;AAC5B,GAAU,EAAI,QAAQ;CAEtB,IAAM,IAAM,EAAc,MAAM;AAGhC,KAFmB,EAAc,cAAc,KAE5B,GAAK;AACtB,IAAU,iCAAiC;AAC3C;;CAGF,IAAM,IAAK,EAAG,MAAM,EAEd,IAAS,MAAM,EAAS,MAAM,EAC9B,IAAQ,EAAS,KAAK,EAAG;AAC/B,GAAU,mBAAmB,EAAM,YAAY,KAAK,QAAQ;CAE5D,IAAM,IAAW,EAAM,KAAK,EAAO;AACnC,GAAU,cAAc,EAAS,SAAS;CAE1C,IAAM,IAAQ,MAAM,EAAM,MAAM;AAOhC,CALI,EAAS,SAAS,KAEpB,EAAU,wBADQ,MAAM,EAAM,SAAS,GAAU,EAAG,GACN,EAGhD,EAAG,OAAO;CAEV,IAAM,IAAQ,MAAM,EAAM,GAAG,EAAM,YAAY;AAC/C,CAAI,EAAM,SAAS,KACjB,EAAU,eAAe,EAAM,OAAO,cAAc;CAGtD,IAAM,IAAW,MAAM,EAAM,KAAK,EAAI,aAAa;AAMnD,CALI,EAAS,SAAS,KACpB,EAAU,6BAA6B,EAAS,OAAO,+BAA+B,EAGxF,MAAM,EAAkB,CAAC,EAAM,KAAK,EAAE,EAAI,EAC1C,EAAU,yBAAyB,IAAM;;AAG3C,IAAI;AACF,OAAM,GAAM;SACL,GAAgB;AACvB,CAAI,aAAiB,SACnB,EAAe,EAAM,QAAQ"}
|