mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-10-30 09:16:55 +00:00
fix(ci): the producer integration test list is data, not part of the pinned selection logic (#6467)
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
[
|
||||
"tests/distributed/_smoke/webm-concat-copy.test.ts",
|
||||
"tests/playback-rate-av-parity/playback-rate-av-parity.test.ts",
|
||||
"src/regression-harness-psnr.test.ts",
|
||||
"src/regression-harness-audio.test.ts",
|
||||
"src/services/bundleScriptPolicy.test.ts",
|
||||
"src/services/coreRuntimeBrowser.test.ts",
|
||||
"src/services/heifImagePrep.test.ts",
|
||||
"src/services/htmlCompiler.heif.test.ts",
|
||||
"src/services/vfxDeterminism.test.ts",
|
||||
"src/services/distributed/assemble.test.ts",
|
||||
"src/services/distributed/chunkBoundary.test.ts",
|
||||
"src/services/distributed/crossWorkerIdempotency.test.ts",
|
||||
"src/services/distributed/plan.masterBus.test.ts",
|
||||
"src/services/distributed/plan.test.ts",
|
||||
"src/services/distributed/planSizeCap.test.ts",
|
||||
"src/services/distributed/planV2RemoteFiles.test.ts",
|
||||
"src/services/distributed/renderChunk.test.ts",
|
||||
"src/services/fileServer.test.ts",
|
||||
"src/services/fileServer.file-race.test.ts",
|
||||
"src/services/healthWorker.test.ts",
|
||||
"src/services/scriptFailureAttribution.test.ts",
|
||||
"src/services/hyperframeLint.file-race.test.ts",
|
||||
"src/services/assetMediaType.test.ts",
|
||||
"src/services/htmlCompiler.mediaType.test.ts",
|
||||
"src/services/htmlCompiler.naturalDuration.test.ts",
|
||||
"src/services/render/firstFrameStartingState.integration.test.ts",
|
||||
"src/services/render/hlsRender.integration.test.ts",
|
||||
"src/services/render/motionBlurVideo.integration.test.ts",
|
||||
"src/services/render/renderCancel.integration.test.ts",
|
||||
"src/services/render/segmentedColorGrading.integration.test.ts",
|
||||
"src/services/render/wrappedMountTiming.integration.test.ts",
|
||||
"src/services/render/stages/compileStage.mediaType.test.ts",
|
||||
"src/services/render/stages/encodeWhileCapturing.test.ts",
|
||||
"src/services/render/stages/gifEncodeArgs.test.ts",
|
||||
"src/services/videoFrameBorderClip.test.ts",
|
||||
"src/utils/audioRegression.test.ts",
|
||||
"src/utils/streamDurationParity.test.ts"
|
||||
]
|
||||
@@ -5,48 +5,11 @@ import { fileURLToPath } from "node:url";
|
||||
|
||||
export const PRODUCER_ROOT = resolve(dirname(fileURLToPath(import.meta.url)), "..");
|
||||
|
||||
// These tests need host capabilities such as Chrome, ffmpeg, worker threads,
|
||||
// or local sockets. Keep the list explicit so a filename-only rename does not
|
||||
// make Git/fallow re-audit thousands of unchanged test lines as new code.
|
||||
const INTEGRATION_TEST_FILES = new Set([
|
||||
"tests/distributed/_smoke/webm-concat-copy.test.ts",
|
||||
"tests/playback-rate-av-parity/playback-rate-av-parity.test.ts",
|
||||
"src/regression-harness-psnr.test.ts",
|
||||
"src/regression-harness-audio.test.ts",
|
||||
"src/services/bundleScriptPolicy.test.ts",
|
||||
"src/services/coreRuntimeBrowser.test.ts",
|
||||
"src/services/heifImagePrep.test.ts",
|
||||
"src/services/htmlCompiler.heif.test.ts",
|
||||
"src/services/vfxDeterminism.test.ts",
|
||||
"src/services/distributed/assemble.test.ts",
|
||||
"src/services/distributed/chunkBoundary.test.ts",
|
||||
"src/services/distributed/crossWorkerIdempotency.test.ts",
|
||||
"src/services/distributed/plan.masterBus.test.ts",
|
||||
"src/services/distributed/plan.test.ts",
|
||||
"src/services/distributed/planSizeCap.test.ts",
|
||||
"src/services/distributed/planV2RemoteFiles.test.ts",
|
||||
"src/services/distributed/renderChunk.test.ts",
|
||||
"src/services/fileServer.test.ts",
|
||||
"src/services/fileServer.file-race.test.ts",
|
||||
"src/services/healthWorker.test.ts",
|
||||
"src/services/scriptFailureAttribution.test.ts",
|
||||
"src/services/hyperframeLint.file-race.test.ts",
|
||||
"src/services/assetMediaType.test.ts",
|
||||
"src/services/htmlCompiler.mediaType.test.ts",
|
||||
"src/services/htmlCompiler.naturalDuration.test.ts",
|
||||
"src/services/render/firstFrameStartingState.integration.test.ts",
|
||||
"src/services/render/hlsRender.integration.test.ts",
|
||||
"src/services/render/motionBlurVideo.integration.test.ts",
|
||||
"src/services/render/renderCancel.integration.test.ts",
|
||||
"src/services/render/segmentedColorGrading.integration.test.ts",
|
||||
"src/services/render/wrappedMountTiming.integration.test.ts",
|
||||
"src/services/render/stages/compileStage.mediaType.test.ts",
|
||||
"src/services/render/stages/encodeWhileCapturing.test.ts",
|
||||
"src/services/render/stages/gifEncodeArgs.test.ts",
|
||||
"src/services/videoFrameBorderClip.test.ts",
|
||||
"src/utils/audioRegression.test.ts",
|
||||
"src/utils/streamDurationParity.test.ts",
|
||||
]);
|
||||
// The tests that need host capabilities such as Chrome, ffmpeg, worker threads or local sockets, one path per
|
||||
// line, so adding one never edits (or re-pins) the selection logic below.
|
||||
const INTEGRATION_TEST_FILES = new Set(
|
||||
JSON.parse(readFileSync(resolve(PRODUCER_ROOT, "scripts/integration-tests.json"), "utf8")),
|
||||
);
|
||||
|
||||
function collectTestFiles(directory, files = []) {
|
||||
for (const entry of readdirSync(directory, { withFileTypes: true })) {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import assert from "node:assert/strict";
|
||||
import { readFileSync } from "node:fs";
|
||||
import { describe, it } from "node:test";
|
||||
import {
|
||||
classifyTestSource,
|
||||
@@ -7,6 +8,15 @@ import {
|
||||
} from "./test-classification.mjs";
|
||||
|
||||
describe("producer test classification", () => {
|
||||
it("keeps the integration list out of the selection logic the reachability check pins", () => {
|
||||
const logic = readFileSync(new URL("./test-classification.mjs", import.meta.url), "utf8");
|
||||
assert.doesNotMatch(logic, /["'][^"']*\/[^"']*\.test\.tsx?["']/);
|
||||
const listed = JSON.parse(
|
||||
readFileSync(new URL("./integration-tests.json", import.meta.url), "utf8"),
|
||||
);
|
||||
assert.equal(new Set(listed).size, listed.length);
|
||||
});
|
||||
|
||||
it("classifies each supported runner into one lane", () => {
|
||||
assert.deepEqual(classifyTestSource("src/a.test.ts", 'import { it } from "bun:test";'), {
|
||||
file: "src/a.test.ts",
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
],
|
||||
"sources": {
|
||||
"packages/producer/scripts/run-test-lane.mjs": "638885e14480d03290803389325a655f3749442167d784e07bb3af3404598af7",
|
||||
"packages/producer/scripts/test-classification.mjs": "c434da94aa74aef060ef41736af798fd5a9af9236684a47d07a19661c1f78b9b",
|
||||
"packages/producer/scripts/test-classification.mjs": "e0874fac79225203b38778b144adb753a656afa0f78e08758001ff32ba9a0c62",
|
||||
".github/workflows/ci.yml#job#producer-source-tests": "45da72aa6cf08cdfd5bcf5311e89f12af4842f9eebc6735df19da8c02f4d4864",
|
||||
"packages/producer/package.json#script#test:unit": "ae6beda8319d166774be958ea5593cd27dbf7f6c9bce1d787a3fe28dfc3477b1",
|
||||
"packages/producer/package.json#script#test:integration": "008589f37d026877595a13501cbb66abd5cbe50e21fdcac6904f45466c3f475d",
|
||||
|
||||
Reference in New Issue
Block a user