From 83710a1a36ba0f857e6404657c75fbd34fe5fccd Mon Sep 17 00:00:00 2001 From: Jinjing <6427696+AmethystLiang@users.noreply.github.com> Date: Sun, 16 Aug 2026 22:18:02 -0700 Subject: [PATCH] test(e2e): add contract test for relay artifact dispatch Validate that the relay artifact built in CI is properly uploaded, downloaded, and passed via ORCA_RELAY_PATH to E2E test runs. --- .../release-e2e-dispatch-contract.test.mjs | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/config/scripts/release-e2e-dispatch-contract.test.mjs b/config/scripts/release-e2e-dispatch-contract.test.mjs index 4d4ebb4e3cf..18fe76c4c44 100644 --- a/config/scripts/release-e2e-dispatch-contract.test.mjs +++ b/config/scripts/release-e2e-dispatch-contract.test.mjs @@ -43,4 +43,27 @@ describe('release E2E dispatch contract', () => { expect(buildStep.run).toContain('pnpm run build:web-from-renderer') expect(buildStep.run).toContain('pnpm run build:relay') }) + + it('hands the built relay artifact to every E2E run command', () => { + const uploadStep = e2eWorkflow.jobs.build.steps.find( + (step) => step.name === 'Upload E2E build output' + ) + + expect(uploadStep.with.name).toBe('e2e-build-out') + expect(uploadStep.with.path).toBe('out/') + + for (const [jobName, runStepName] of [ + ['e2e', 'Run E2E tests (${{ matrix.shard_name }})'], + ['changed-e2e', 'Run changed E2E specs'] + ]) { + const job = e2eWorkflow.jobs[jobName] + const downloadStep = job.steps.find((step) => step.name === 'Download E2E build output') + const runStep = job.steps.find((step) => step.name === runStepName) + + expect(job.needs).toBe('build') + expect(downloadStep.with.name).toBe('e2e-build-out') + expect(downloadStep.with.path).toBe('out/') + expect(runStep.run).toContain('ORCA_RELAY_PATH="$GITHUB_WORKSPACE/out/relay"') + } + }) })