[HLCC-ICE-000001][ZY-CONTRIB-20260723-001] feat: 以来光者贡献链启用冰朔第五域个人子频道
This commit is contained in:
commit
5615453e4e
660 changed files with 122355 additions and 0 deletions
107
server-tools/hololake-code-channel/native.test.js
Normal file
107
server-tools/hololake-code-channel/native.test.js
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
#!/usr/bin/env node
|
||||
|
||||
const fs = require("node:fs");
|
||||
const path = require("node:path");
|
||||
const assert = require("node:assert/strict");
|
||||
|
||||
const root = __dirname;
|
||||
const ini = fs.readFileSync(path.join(root, "app.ini.fragment"), "utf8");
|
||||
const jdCandidateIni = fs.readFileSync(
|
||||
path.join(root, "candidate-app.jd.ini"),
|
||||
"utf8",
|
||||
);
|
||||
const enterpriseCandidateIni = fs.readFileSync(
|
||||
path.join(root, "candidate-app.enterprise.ini"),
|
||||
"utf8",
|
||||
);
|
||||
const installer = fs.readFileSync(
|
||||
path.join(root, "install-candidate.sh"),
|
||||
"utf8",
|
||||
);
|
||||
const relayPreparer = fs.readFileSync(
|
||||
path.join(root, "prepare-release-on-sg.sh"),
|
||||
"utf8",
|
||||
);
|
||||
const policy = JSON.parse(
|
||||
fs.readFileSync(path.join(root, "update-policy.json"), "utf8"),
|
||||
);
|
||||
|
||||
assert.match(ini, /\[cron\.update_checker\][\s\S]*ENABLED\s*=\s*false/i);
|
||||
assert.match(jdCandidateIni, /HoloLake Code Channel · Fifth Domain/);
|
||||
assert.match(enterpriseCandidateIni, /HoloLake Code Channel · Enterprise/);
|
||||
for (const candidateIni of [jdCandidateIni, enterpriseCandidateIni]) {
|
||||
assert.match(
|
||||
candidateIni,
|
||||
/\[server\][\s\S]*HTTP_ADDR\s*=\s*127\.0\.0\.1[\s\S]*HTTP_PORT\s*=\s*3340/i,
|
||||
);
|
||||
assert.match(candidateIni, /RUN_USER\s*=\s*guanghu/i);
|
||||
assert.match(
|
||||
candidateIni,
|
||||
/\/var\/lib\/guanghu\/code-channel\/candidates\/hlcc-v16\.0\.1/,
|
||||
);
|
||||
assert.match(
|
||||
candidateIni,
|
||||
/\[cron\.update_checker\][\s\S]*ENABLED\s*=\s*false/i,
|
||||
);
|
||||
assert.match(candidateIni, /\[actions\][\s\S]*ENABLED\s*=\s*false/i);
|
||||
assert.match(candidateIni, /\[mirror\][\s\S]*ENABLED\s*=\s*false/i);
|
||||
}
|
||||
assert.match(
|
||||
installer,
|
||||
/\/var\/lib\/guanghu\/code-channel\/offline-source\/hlcc-v/,
|
||||
);
|
||||
assert.match(installer, /HLCC_VERSION="16\.0\.1"/);
|
||||
assert.doesNotMatch(installer, /curl|wget|keyserver/);
|
||||
assert.match(
|
||||
installer,
|
||||
/HLCC_RELEASE_KEY="EB114F5E6C0DC2BCDD183550A4B61A2DC5923710"/,
|
||||
);
|
||||
assert.match(installer, /gpg[\s\S]*--verify/);
|
||||
assert.match(installer, /HLCC_SOURCE_ARCHIVE[\s\S]*sha256sum --check MANIFEST\.sha256/);
|
||||
assert.match(installer, /candidate-app\.ini/);
|
||||
assert.match(installer, /No service was started/);
|
||||
assert.match(relayPreparer, /RELEASE_URL="https:\/\/code\.forgejo\.org\//);
|
||||
assert.match(relayPreparer, /id -un\)" != "ubuntu"/);
|
||||
assert.match(relayPreparer, /forgejo-upstream-all\.bundle/);
|
||||
assert.match(relayPreparer, /guanghu-code-channel\.bundle/);
|
||||
assert.match(relayPreparer, /MANIFEST\.sha256/);
|
||||
assert.match(
|
||||
relayPreparer,
|
||||
/No service was started and no transfer to a domestic node was attempted/,
|
||||
);
|
||||
assert.equal(policy.product_id, "HLP-MOD-CODE-CHANNEL");
|
||||
assert.equal(policy.official_upstream.automatic_fetch, false);
|
||||
assert.equal(policy.official_upstream.automatic_merge, false);
|
||||
assert.equal(policy.official_upstream.automatic_build, false);
|
||||
assert.equal(policy.official_upstream.automatic_deploy, false);
|
||||
assert.equal(policy.official_upstream.push_enabled, false);
|
||||
assert.equal(policy.forgejo_builtin_update_checker.enabled, false);
|
||||
assert.equal(
|
||||
policy.guanghu_update_channel.manifest_url,
|
||||
"https://guanghulab.com/api/code-channel/updates/v1/manifest.json",
|
||||
);
|
||||
assert.equal(policy.guanghu_update_channel.require_signature, true);
|
||||
assert.equal(policy.guanghu_update_channel.require_artifact_sha256, true);
|
||||
assert.equal(policy.guanghu_update_channel.require_rollback_release, true);
|
||||
assert.equal(
|
||||
policy.guanghu_update_channel.fallback_when_unavailable,
|
||||
"MANUAL_RELEASE_ONLY",
|
||||
);
|
||||
assert.equal(
|
||||
policy.source_baseline.upstream_commit,
|
||||
"b3d7e4ac3cbccc220703097a51fa4c16bf302579",
|
||||
);
|
||||
assert.deepEqual(policy.offline_distribution.domestic_archive_nodes, [
|
||||
"JD-FD-PRIMARY",
|
||||
"AW-GZ-001",
|
||||
]);
|
||||
assert.deepEqual(policy.offline_distribution.runtime_nodes, [
|
||||
"JD-FD-PRIMARY",
|
||||
"AW-GZ-001",
|
||||
]);
|
||||
assert.equal(policy.offline_distribution.require_manifest_sha256, true);
|
||||
assert.equal(policy.offline_distribution.require_domestic_gpg_reverification, true);
|
||||
assert.equal(policy.offline_distribution.shared_runtime_data, false);
|
||||
assert.equal(policy.offline_distribution.automatic_transfer, false);
|
||||
|
||||
console.log("HoloLake Code Channel update boundary: PASS");
|
||||
Loading…
Reference in a new issue