tsc
All checks were successful
Distribution check / Generated files check (push) Successful in -2m2s
NPM Audit Check / Check NPM audit (push) Successful in -2m10s
Unit tests / Unit tests (latest) (push) Successful in -2m1s
Unit tests / Unit tests (lts/*) (push) Successful in -2m1s
Unit tests / Unit tests (lts/hydrogen) (push) Successful in -2m0s
All checks were successful
Distribution check / Generated files check (push) Successful in -2m2s
NPM Audit Check / Check NPM audit (push) Successful in -2m10s
Unit tests / Unit tests (latest) (push) Successful in -2m1s
Unit tests / Unit tests (lts/*) (push) Successful in -2m1s
Unit tests / Unit tests (lts/hydrogen) (push) Successful in -2m0s
This commit is contained in:
@@ -6,7 +6,7 @@ async function parse(previous, current) {
|
||||
const actions = curr?.actions;
|
||||
const result = {
|
||||
build: false,
|
||||
move: false,
|
||||
move: [],
|
||||
delete: [],
|
||||
actions,
|
||||
};
|
||||
@@ -14,10 +14,9 @@ async function parse(previous, current) {
|
||||
const repo = prev.repos[actions.removeRepo];
|
||||
result.delete.push(...parseRepoContents(repo, actions.removeRepo));
|
||||
}
|
||||
else if (prev && (result.move = isMove(actions))) {
|
||||
const moving = parseRepoContents(curr.repos[actions.addRepo], actions.removeRepo);
|
||||
else if (prev && isMove(actions)) {
|
||||
const moving = result.move = parseRepoContents(curr.repos[actions.addRepo], actions.removeRepo);
|
||||
result.delete.push(...getDropped(parseRepoContents(prev.repos[actions.addRepo], actions.addRepo), moving));
|
||||
result.delete.push(...moving);
|
||||
}
|
||||
else if ((result.build = isAdd(actions)) && prev) {
|
||||
result.delete.push(...getDropped(parseRepoContents(prev.repos[actions.addRepo], actions.addRepo), parseRepoContents(curr.repos[actions.addRepo], actions.addRepo)));
|
||||
@@ -55,5 +54,5 @@ async function tryRead(file) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
export { parse };
|
||||
export { parse, tryRead };
|
||||
//# sourceMappingURL=pkgbase.js.map
|
||||
File diff suppressed because one or more lines are too long
50
distribution/src/router.js
Normal file
50
distribution/src/router.js
Normal file
@@ -0,0 +1,50 @@
|
||||
import * as core from '@actions/core';
|
||||
import { context } from '@actions/github';
|
||||
import ky from 'ky';
|
||||
import { parse } from './pkgbase.js';
|
||||
;
|
||||
async function main() {
|
||||
const mode = core.getInput('mode', { required: true }).toLocaleLowerCase();
|
||||
if (mode === 'parse') {
|
||||
await doParse();
|
||||
return;
|
||||
}
|
||||
const parsedData = JSON.parse(core.getInput('parsed-data', { required: true }));
|
||||
const username = core.getInput('username', { required: true });
|
||||
const token = core.getInput('token', { required: true });
|
||||
const headers = {
|
||||
Authorization: `Basic ${btoa(`${username}:${token}`)}`
|
||||
};
|
||||
if (mode === 'move') {
|
||||
for (const pkg of parsedData.move) {
|
||||
const filename = getFilename(pkg);
|
||||
const files = await ky.get(`${context.serverUrl}/api/v1/packages/${context.repo.owner}/arch/${pkg.package}/${pkg.version}/files`).json();
|
||||
const match = files.filter(f => f.name === filename);
|
||||
if (match.length !== 1) {
|
||||
throw new Error(`Expected one matching package, found ${match.length}`);
|
||||
}
|
||||
const packageUrl = `${context.serverUrl}/${context.repo.owner}/-/packages/arch/${pkg.package}/${pkg.version}/files/${match[0].id}`;
|
||||
// const req = (await ky.get(packageUrl)).body.pipeThrough;
|
||||
}
|
||||
parsedData.delete.push(...parsedData.move);
|
||||
}
|
||||
for (const pkg of parsedData.delete) {
|
||||
await ky.delete(`${context.serverUrl}/api/packages/${context.repo.owner}/arch/${pkg.repository}/${pkg.package}/${pkg.version}/${pkg.architecture}`, {
|
||||
headers
|
||||
});
|
||||
}
|
||||
}
|
||||
function getFilename(pkg) {
|
||||
return `${pkg.package}-${pkg.version}-${pkg.architecture}.pkg.tar.zst`;
|
||||
}
|
||||
function getCurrent() {
|
||||
return core.getInput('current', { required: true });
|
||||
}
|
||||
async function doParse() {
|
||||
const previous = core.getInput('previous', { required: true });
|
||||
const current = getCurrent();
|
||||
const diff = await parse(previous, current);
|
||||
core.setOutput('parsed-data', JSON.stringify(diff));
|
||||
}
|
||||
export { main };
|
||||
//# sourceMappingURL=router.js.map
|
||||
1
distribution/src/router.js.map
Normal file
1
distribution/src/router.js.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,KAAK,EAAiC,MAAM,cAAc,CAAC;AAYnE,CAAC;AAEF,KAAK,UAAU,IAAI;IACf,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,iBAAiB,EAAU,CAAC;IAEnF,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACnB,MAAM,OAAO,EAAE,CAAC;QAChB,OAAO;IACX,CAAC;IACD,MAAM,UAAU,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACxF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG;QACZ,aAAa,EAAE,SAAS,IAAI,CAAC,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC,EAAE;KACzD,CAAA;IACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,SAAS,oBAAoB,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,IAAI,EAAiB,CAAC;YACxJ,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YACrD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,wCAAwC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,MAAM,UAAU,GAAG,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,oBAAoB,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACnI,2DAA2D;QAC/D,CAAC;QACD,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,iBAAiB,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,YAAY,EAAE,EAAE;YAChJ,OAAO;SACV,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,GAAgB;IACjC,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,YAAY,cAAc,CAAC;AAC3E,CAAC;AAED,SAAS,UAAU;IACf,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,OAAO;IAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,OAAO,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import * as core from '@actions/core'\nimport { context } from '@actions/github'\nimport ky from 'ky';\nimport { parse, type Result, type PackageInfo } from './pkgbase.js';\n\ntype Mode = 'parse' | 'move' | 'delete';\n\ninterface PackageFile {\n id: number,\n size: number,\n name: string,\n md5: string,\n sha1: string,\n sha256: string,\n sha512: string\n};\n\nasync function main() {\n const mode = core.getInput('mode', { required: true }).toLocaleLowerCase() as Mode;\n\n if (mode === 'parse') {\n await doParse();\n return;\n }\n const parsedData: Result = JSON.parse(core.getInput('parsed-data', { required: true }));\n const username = core.getInput('username', { required: true });\n const token = core.getInput('token', { required: true });\n const headers = {\n Authorization: `Basic ${btoa(`${username}:${token}`)}`\n }\n if (mode === 'move') {\n for (const pkg of parsedData.move) {\n const filename = getFilename(pkg);\n const files = await ky.get(`${context.serverUrl}/api/v1/packages/${context.repo.owner}/arch/${pkg.package}/${pkg.version}/files`).json<PackageFile[]>();\n const match = files.filter(f => f.name === filename);\n if (match.length !== 1) {\n throw new Error(`Expected one matching package, found ${match.length}`);\n }\n const packageUrl = `${context.serverUrl}/${context.repo.owner}/-/packages/arch/${pkg.package}/${pkg.version}/files/${match[0].id}`;\n // const req = (await ky.get(packageUrl)).body.pipeThrough;\n }\n parsedData.delete.push(...parsedData.move);\n }\n\n for (const pkg of parsedData.delete) {\n await ky.delete(`${context.serverUrl}/api/packages/${context.repo.owner}/arch/${pkg.repository}/${pkg.package}/${pkg.version}/${pkg.architecture}`, {\n headers\n });\n }\n}\n\nfunction getFilename(pkg: PackageInfo) {\n return `${pkg.package}-${pkg.version}-${pkg.architecture}.pkg.tar.zst`;\n}\n\nfunction getCurrent(): string {\n return core.getInput('current', { required: true });\n}\n\nasync function doParse() {\n const previous = core.getInput('previous', { required: true });\n const current = getCurrent();\n const diff = await parse(previous, current);\n core.setOutput('parsed-data', JSON.stringify(diff));\n}\n\nexport { main };\n"]}
|
||||
Reference in New Issue
Block a user