From 7e5f06b82143b0629d4b8293f1b1c7e7b0115ba5 Mon Sep 17 00:00:00 2001 From: hector <42570491+majinghe@users.noreply.github.com> Date: Thu, 5 Nov 2026 11:57:00 +0800 Subject: [PATCH] fix(validation-cases): skip standalone candidate resolve in chain mode The caller workflow_dispatch event leaks through workflow_call, so a manually dispatched chain also satisfies github.event_name == 'workflow_dispatch'. The standalone-only "Resolve nightly candidate" step then ran after Bind and died in manual_manifest() on the half-set chain env (PACKAGE_SHA256 present, SOURCE_SHA and friends missing): ValueError: manual schema 2 replay requires the full candidate, including build run and attempt Run 41948811406 went red in ~9s without executing a single case. Gate the resolver on inputs.chain_manifest == '' too, mirroring the Bind step: in chain mode Bind already writes candidate.json. --- .github/workflows/rustfs-validation-cases.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/rustfs-validation-cases.yml b/.github/workflows/rustfs-validation-cases.yml index 4970158..41a6f11 100644 --- a/.github/workflows/rustfs-validation-cases.yml +++ b/.github/workflows/rustfs-validation-cases.yml @@ -152,7 +152,11 @@ jobs: - name: Resolve nightly candidate id: resolved - if: ${{ github.event_name == 'workflow_dispatch' }} + # Same reusable-workflow gotcha as the Bind step above: the + # caller's workflow_dispatch leaks through workflow_call, so chain + # runs must skip this standalone resolver - with the chain env + # half-set it dies in manual_manifest (run 41948811406). + if: ${{ github.event_name == 'workflow_dispatch' && inputs.chain_manifest == '' }} env: GH_TOKEN: ${{ secrets.PF_TESTING_GH_TOKEN }} BUILD_RUN_ID: ${{ inputs.build_run_id }}