From e3a9da2f032c1bc2fbb9aa5657b6b34236bcf3e9 Mon Sep 17 00:00:00 2001 From: "A. Mahoney-Fernandes" <83057795+0xPlayerOne@users.noreply.github.com> Date: Sat, 3 Oct 2026 16:21:01 -0400 Subject: [PATCH] fix(ci): declare the e2e shard inputs on the no-codeql orchestrator Rendered callers always pass e2e-shard-list and e2e-total-shards (the v1.42.0 sharding defaults), but the no-codeql orchestrator never declared them, so every codeql:false consumer's pull-request validation failed at startup with an unknown-input error. GitHub reports that as startup_failure, which the billing-pause era hid: agent-sim's Validation lane has never once succeeded since its v1.42.0 pin. Declare both inputs and forward them to the test lane, matching the main orchestrator, and pin the parity in the receipt tests. --- .github/workflows/validation-no-codeql.yml | 12 ++++++++++++ test/task-receipt-artifacts.test.mjs | 15 +++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/.github/workflows/validation-no-codeql.yml b/.github/workflows/validation-no-codeql.yml index d5fed908..775af293 100644 --- a/.github/workflows/validation-no-codeql.yml +++ b/.github/workflows/validation-no-codeql.yml @@ -75,6 +75,16 @@ on: required: false type: string default: task-result + e2e-shard-list: + description: Comma-separated E2E shard indices passed to the test lane's matrix, e.g. "1,2". + required: false + type: string + default: '1' + e2e-total-shards: + description: Total E2E shard count passed to the repository script as E2E_TOTAL_SHARDS. + required: false + type: string + default: '1' secrets: TURBO_TOKEN: required: false @@ -119,6 +129,8 @@ jobs: # smoke, and performance lanes stay in the audit and scheduled lanes. unit-only: ${{ inputs.mode == 'fast' || inputs.mode == 'release' }} artifact-prefix: ${{ inputs.artifact-prefix }} + e2e-shard-list: ${{ inputs.e2e-shard-list }} + e2e-total-shards: ${{ inputs.e2e-total-shards }} secrets: TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} diff --git a/test/task-receipt-artifacts.test.mjs b/test/task-receipt-artifacts.test.mjs index 1b5e8f2d..a45fbcd8 100644 --- a/test/task-receipt-artifacts.test.mjs +++ b/test/task-receipt-artifacts.test.mjs @@ -147,3 +147,18 @@ test('actual optional discovery writes an explicit skip receipt at the exact upl assert.equal(report.task, 'e2e') assert.deepEqual(report.commands, []) }) + +test('validation orchestrators declare and forward the e2e shard inputs', () => { + for (const file of ['validation.yml', 'validation-no-codeql.yml']) { + const source = readFileSync(join(root, '.github/workflows', file), 'utf8') + for (const name of ['e2e-shard-list', 'e2e-total-shards']) { + assert.match( + source, + new RegExp(`^ ${name}:\\n(?:[^\\n]*\\n){3} default: '1'`, 'm'), + `${file} must declare ${name}: rendered callers always pass it, and an undeclared reusable input fails the call at startup` + ) + const testBlock = source.split('\n test:\n')[1].split(/\n [a-z0-9-]+:\n/)[0] + assert.match(testBlock, new RegExp(`${name}: \\$\\{\\{ inputs\\.${name} \\}\\}`)) + } + } +})