Exclude test artifacts from runtime impact analysis
Build and Deploy Gateway / build-and-push (push) Successful in 25s
Build and Deploy Gateway / deploy (push) Successful in 14s

This commit is contained in:
2026-08-28 19:47:58 +03:00
parent a84cca0668
commit 14b3c2afac
22 changed files with 12 additions and 76 deletions
+1
View File
@@ -13,6 +13,7 @@ data/
node_modules/
dist/
.test-dist/
.tmp-tests/
coverage/
npm-debug.log*
yarn-debug.log*
@@ -1 +0,0 @@
{"gateway":"192.168.50.111","interface":"en0","mac":"","observedAt":"2026-08-28T08:14:27.401Z"}
@@ -1,11 +0,0 @@
#!/usr/bin/env node
const fs = require('node:fs');
if (process.argv[2] === 'check') process.exit(0);
if (process.argv[2] === 'version') {
console.log('sing-box version 1.13.18');
process.exit(0);
}
if (process.argv[2] === 'run') {
fs.appendFileSync(process.env.HARBOR_TEST_RUN_MARKER, 'run\n');
setInterval(() => {}, 60_000);
}
@@ -1 +0,0 @@
{"schemaVersion":6,"revision":4,"profiles":[{"id":"profile-a","label":"Основной","subscriptionUrl":"https://provider.example/0123456789abcdef0123456789abcdef","subscriptionConfig":{"outbounds":[{"type":"vless","tag":"srv_56f1cee6a72c8e7c","server":"boot.example","server_port":443,"uuid":"00000000-0000-4000-8000-000000000000"}]},"servers":[{"id":"srv_56f1cee6a72c8e7c","label":"Boot VPN","host":"boot.example","port":443,"protocol":"vless","tag":"Boot VPN","server":"boot.example","server_port":443,"type":"vless"}],"userInfo":{},"fetchedAt":null,"desiredServerId":"srv_56f1cee6a72c8e7c","lastRefreshAttemptAt":null,"lastRefreshErrorCode":null}],"desiredProfileId":"profile-a","appliedProfileId":"profile-a","appliedServerId":"srv_56f1cee6a72c8e7c","appliedServerSnapshot":{"id":"srv_56f1cee6a72c8e7c","label":"Boot VPN","host":"boot.example","port":443,"protocol":"vless","tag":"Boot VPN","server":"boot.example","server_port":443,"type":"vless"},"routeRules":[{"type":"domain","value":"api.example.com","enabled":true,"outbound":"vpn"},{"type":"domain_suffix","value":"example.com","enabled":true,"outbound":"direct"}],"appliedRouteRules":[],"routeRulesRevision":0,"connectionDesired":"running"}
@@ -1,11 +0,0 @@
#!/usr/bin/env node
const fs = require('node:fs');
if (process.argv[2] === 'check') process.exit(0);
if (process.argv[2] === 'version') {
console.log('sing-box version 1.13.18');
process.exit(0);
}
if (process.argv[2] === 'run') {
fs.appendFileSync(process.env.HARBOR_TEST_RUN_MARKER, 'run\n');
setInterval(() => {}, 60_000);
}
@@ -1 +0,0 @@
{"outbounds":[{"type":"vless","tag":"server-a","server":"a.example","server_port":443},{"type":"direct","tag":"direct"}],"route":{"final":"direct"}}
@@ -1 +0,0 @@
{"schemaVersion":6,"revision":4,"profiles":[{"id":"profile-a","label":"Основной","subscriptionUrl":"https://provider.example/subscription-a","subscriptionConfig":null,"servers":[{"id":"server-a","label":"Server A","host":"a.example","port":443,"protocol":"vless"}],"userInfo":{},"fetchedAt":null,"desiredServerId":"server-a","lastRefreshAttemptAt":null,"lastRefreshErrorCode":null}],"desiredProfileId":"profile-a","appliedProfileId":"profile-a","appliedServerId":"server-a","appliedServerSnapshot":{"id":"server-a","label":"Server A","host":"a.example","port":443,"protocol":"vless"},"routeRules":[],"appliedRouteRules":[],"routeRulesRevision":0,"connectionDesired":"running"}
@@ -1,11 +0,0 @@
#!/usr/bin/env node
const fs = require('node:fs');
if (process.argv[2] === 'check') process.exit(0);
if (process.argv[2] === 'version') {
console.log('sing-box version 1.13.18');
process.exit(0);
}
if (process.argv[2] === 'run') {
fs.appendFileSync(process.env.HARBOR_TEST_RUN_MARKER, 'run\n');
setInterval(() => {}, 60_000);
}
@@ -1 +0,0 @@
{"outbounds":[{"type":"vless","tag":"server-b","server":"b.example","server_port":8443},{"type":"direct","tag":"direct"}],"route":{"final":"server-b"}}
@@ -1 +0,0 @@
{"schemaVersion":6,"revision":4,"profiles":[{"id":"profile-a","label":"Основной","subscriptionUrl":"https://provider.example/subscription-a","subscriptionConfig":null,"servers":[{"id":"server-a","label":"Server A","host":"a.example","port":443,"protocol":"vless"}],"userInfo":{},"fetchedAt":null,"desiredServerId":"server-a","lastRefreshAttemptAt":null,"lastRefreshErrorCode":null}],"desiredProfileId":"profile-a","appliedProfileId":"profile-a","appliedServerId":"server-a","appliedServerSnapshot":{"id":"server-a","label":"Server A","host":"a.example","port":443,"protocol":"vless"},"routeRules":[],"appliedRouteRules":[],"routeRulesRevision":0,"connectionDesired":"running"}
@@ -1,11 +0,0 @@
#!/usr/bin/env node
const fs = require('node:fs');
if (process.argv[2] === 'check') process.exit(0);
if (process.argv[2] === 'version') {
console.log('sing-box version 1.13.18');
process.exit(0);
}
if (process.argv[2] === 'run') {
fs.appendFileSync(process.env.HARBOR_TEST_RUN_MARKER, 'run\n');
setInterval(() => {}, 60_000);
}
@@ -1 +0,0 @@
{"outbounds":[{"type":"vless","tag":"stale-server","server":"stale.example","server_port":443},{"type":"direct","tag":"direct"}],"route":{"final":"stale-server"}}
@@ -1 +0,0 @@
{"schemaVersion":4,"revision":2,"connectionDesired":"running"}
@@ -1 +0,0 @@
{broken
@@ -1,11 +0,0 @@
#!/usr/bin/env node
const fs = require('node:fs');
if (process.argv[2] === 'check') process.exit(0);
if (process.argv[2] === 'version') {
console.log('sing-box version 1.13.18');
process.exit(0);
}
if (process.argv[2] === 'run') {
fs.appendFileSync(process.env.HARBOR_TEST_RUN_MARKER, 'run\n');
setInterval(() => {}, 60_000);
}
@@ -1 +0,0 @@
{"outbounds":[{"type":"vless","tag":"server-a","server":"state.example","server_port":443},{"type":"direct","tag":"direct"}],"route":{"final":"server-a"}}
@@ -1 +0,0 @@
{"schemaVersion":4,"revision":2,"subscriptionUrl":"https://state.example/subscription-a","servers":[{"id":"server-a","label":"State server","host":"state.example","port":443,"protocol":"vless"}],"selectedServerId":"server-a","appliedServerId":"server-a","connectionDesired":"running"}
@@ -1 +0,0 @@
{"url":"https://cache.example/subscription-b","config":{"outbounds":[{"id":"server-b","label":"Cache server","host":"cache.example","port":8443,"protocol":"vless","type":"vless","tag":"Cache server","server":"cache.example","server_port":8443}]},"servers":[{"id":"server-b","label":"Cache server","host":"cache.example","port":8443,"protocol":"vless","type":"vless","tag":"Cache server","server":"cache.example","server_port":8443}]}
@@ -1,8 +0,0 @@
#!/usr/bin/env node
if (process.argv[2] === 'check') process.exit(0);
if (process.argv[2] === 'version') {
console.log('sing-box version 1.12.13');
process.exit(0);
}
process.on('SIGTERM', () => process.exit(0));
setInterval(() => {}, 60_000);
+2
View File
@@ -6,10 +6,12 @@ import { fileURLToPath } from 'node:url';
const CODE_EXTENSION = String.raw`\.[cm]?[jt]sx?$`;
const noRuntimeImpact = [
/^\.codex\//,
/^\.tmp-tests\//,
/^docs\//,
/^test\//,
/^workpack\//,
/^(?:AGENTS|PRODUCT|README)\.md$/,
/^context\.md$/,
/^\.env\.example$/,
/^\.gitignore$/,
/^Dockerfile\.client$/,
+1 -1
View File
@@ -1,7 +1,7 @@
export const HARBOR_VERSIONS = Object.freeze({
macClient: '0.31.1',
gatewayClient: '0.32.1',
gatewayBackend: '0.32.1',
gatewayBackend: '0.32.2',
});
export interface ParsedVersion {
+8
View File
@@ -22,6 +22,14 @@ test('runtime impact keeps affected components separate from restart scope', ()
affectedComponents: [],
restartScope: 'none',
});
assert.deepEqual(classifyRuntimeImpact(['.tmp-tests/harbor-route-test/network.json']), {
affectedComponents: [],
restartScope: 'none',
});
assert.deepEqual(classifyRuntimeImpact(['context.md']), {
affectedComponents: [],
restartScope: 'none',
});
assert.deepEqual(classifyRuntimeImpact(['src/web/App.tsx']), {
affectedComponents: ['control'],
restartScope: 'control',