fix(release-gate): skip duplicate CI work and stop live LLM blowups
Shared paths like db.mjs were pulling PAGE/DATA live agent suites into every hotfix. Keep those cases for actual page-data changes, resume passed suites on the same artifact, and fail fast on Docker/port issues instead of rerunning 100+ scenarios. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import assert from 'node:assert/strict';
|
||||
import net from 'node:net';
|
||||
import test from 'node:test';
|
||||
|
||||
import { GATE_SUITE_PORTS, assertLoopbackPortAvailable } from './preflight.mjs';
|
||||
|
||||
test('gate suites pin isolated loopback ports', () => {
|
||||
assert.equal(GATE_SUITE_PORTS['runtime-sanitized-data-upgrade'], 19085);
|
||||
assert.equal(GATE_SUITE_PORTS['page-data-product-scenarios'], 19086);
|
||||
assert.equal(GATE_SUITE_PORTS['page-content-delivery-scenarios'], 19087);
|
||||
});
|
||||
|
||||
test('assertLoopbackPortAvailable rejects an occupied port', async () => {
|
||||
const server = net.createServer();
|
||||
await new Promise((resolve) => server.listen(0, '127.0.0.1', resolve));
|
||||
const { port } = server.address();
|
||||
await assert.rejects(
|
||||
() => assertLoopbackPortAvailable(port),
|
||||
/already in use/,
|
||||
);
|
||||
await new Promise((resolve) => server.close(resolve));
|
||||
await assertLoopbackPortAvailable(port);
|
||||
});
|
||||
Reference in New Issue
Block a user