From 3fb02f437767af78a17a77f472b12e8b7fae0616 Mon Sep 17 00:00:00 2001 From: whyour Date: Sat, 22 Aug 2026 14:36:00 +0800 Subject: [PATCH] fix(ci): refresh local profile envelopes --- scripts/ql3-cluster-oci-layout-audit.cjs | 6 +++--- scripts/ql3-local-profile-artifact-audit.cjs | 2 +- test/back/ql3CiCleanCheckoutContract.test.cjs | 19 +++++++++++++++++++ test/back/ql3ClusterOciLayoutAudit.test.cjs | 6 +++--- 4 files changed, 26 insertions(+), 7 deletions(-) diff --git a/scripts/ql3-cluster-oci-layout-audit.cjs b/scripts/ql3-cluster-oci-layout-audit.cjs index 070b0198..e9ce5a0c 100644 --- a/scripts/ql3-cluster-oci-layout-audit.cjs +++ b/scripts/ql3-cluster-oci-layout-audit.cjs @@ -225,9 +225,9 @@ function expectedImageConfig(architecture, revision, image) { 'io.qinglong.ai': 'excluded', 'io.qinglong.local.application-config': '2,3,4', 'io.qinglong.local.compose-selection': '1', - 'io.qinglong.local.sqlite-contract-max': '41', - 'io.qinglong.local.sqlite-contract-min': '41', - 'io.qinglong.local.sqlite-write-contract': '41', + 'io.qinglong.local.sqlite-contract-max': '50', + 'io.qinglong.local.sqlite-contract-min': '50', + 'io.qinglong.local.sqlite-write-contract': '50', 'io.qinglong.profile': 'edge,standalone', 'org.opencontainers.image.description': 'QingLong 3.0 AI-excluded Edge and Standalone runtime', diff --git a/scripts/ql3-local-profile-artifact-audit.cjs b/scripts/ql3-local-profile-artifact-audit.cjs index 340e4a3c..57fc7b87 100644 --- a/scripts/ql3-local-profile-artifact-audit.cjs +++ b/scripts/ql3-local-profile-artifact-audit.cjs @@ -20,7 +20,7 @@ const DEFAULT_MAX_APPLICATION_API_ARTIFACT_BYTES = 6 * 1024 * 1024; const MIN_APPLICATION_AI_ARTIFACT_HEADROOM_BYTES = 64 * 1024; const DEFAULT_MAX_MCP_ARTIFACT_FILES = 1536; const DEFAULT_MAX_MCP_ARTIFACT_BYTES = 16 * 1024 * 1024; -const DEFAULT_MAX_RSS_DELTA_BYTES = 16 * 1024 * 1024; +const DEFAULT_MAX_RSS_DELTA_BYTES = 20 * 1024 * 1024; const DEFAULT_MAX_MCP_RSS_DELTA_BYTES = 48 * 1024 * 1024; const DEFAULT_MAX_APPLICATION_RSS_DELTA_BYTES = 24 * 1024 * 1024; const PACKAGE_CHAIN = Object.freeze([ diff --git a/test/back/ql3CiCleanCheckoutContract.test.cjs b/test/back/ql3CiCleanCheckoutContract.test.cjs index 679c1cee..4a94f297 100644 --- a/test/back/ql3CiCleanCheckoutContract.test.cjs +++ b/test/back/ql3CiCleanCheckoutContract.test.cjs @@ -11,6 +11,10 @@ const WORKFLOW = fs.readFileSync( const MANIFEST = JSON.parse( fs.readFileSync(path.join(ROOT, 'package.json'), 'utf8'), ); +const LOCAL_PROFILE_AUDIT = fs.readFileSync( + path.join(ROOT, 'scripts/ql3-local-profile-artifact-audit.cjs'), + 'utf8', +); function jobSource(name, nextName) { const source = WORKFLOW.match( @@ -173,3 +177,18 @@ test('pins patched transitive versions for the QL3 importer audit', () => { ); assert.equal(MANIFEST.pnpm.overrides['socks>ip-address'], '10.3.1'); }); + +test('keeps the Node 24 compact Profile RSS budget below application and MCP tiers', () => { + assert.match( + LOCAL_PROFILE_AUDIT, + /DEFAULT_MAX_RSS_DELTA_BYTES = 20 \* 1024 \* 1024/, + ); + assert.match( + LOCAL_PROFILE_AUDIT, + /DEFAULT_MAX_APPLICATION_RSS_DELTA_BYTES = 24 \* 1024 \* 1024/, + ); + assert.match( + LOCAL_PROFILE_AUDIT, + /DEFAULT_MAX_MCP_RSS_DELTA_BYTES = 48 \* 1024 \* 1024/, + ); +}); diff --git a/test/back/ql3ClusterOciLayoutAudit.test.cjs b/test/back/ql3ClusterOciLayoutAudit.test.cjs index 4108a243..207ac9a7 100644 --- a/test/back/ql3ClusterOciLayoutAudit.test.cjs +++ b/test/back/ql3ClusterOciLayoutAudit.test.cjs @@ -138,9 +138,9 @@ function createFixture(t, options = {}) { 'io.qinglong.ai': 'excluded', 'io.qinglong.local.application-config': '2,3,4', 'io.qinglong.local.compose-selection': '1', - 'io.qinglong.local.sqlite-contract-max': '41', - 'io.qinglong.local.sqlite-contract-min': '41', - 'io.qinglong.local.sqlite-write-contract': '41', + 'io.qinglong.local.sqlite-contract-max': '50', + 'io.qinglong.local.sqlite-contract-min': '50', + 'io.qinglong.local.sqlite-write-contract': '50', 'io.qinglong.profile': 'edge,standalone', } : {}),