diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml index 45b3501e..ea6e2f35 100644 --- a/.github/workflows/e2e.yaml +++ b/.github/workflows/e2e.yaml @@ -85,3 +85,19 @@ jobs: -timeout "$E2E_TIMEOUT" \ -parallel "$E2E_PARALLEL" \ ./... + + # On a retry-exhausted scenario the harness writes the last attempt's raw + # act stdout/stderr to e2e/_artifacts/-attempt.log so the + # stack-trace origin survives the CI log retention window. Upload it on + # every run (always()) so the evidence is recoverable whether the job + # failed or a flake was absorbed. The directory may not exist when no + # scenario exhausted its retries; if-no-files-found: ignore keeps that a + # clean no-op rather than a warning. + - name: Upload e2e crash evidence + if: always() + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: e2e-crash-evidence + path: e2e/_artifacts/ + if-no-files-found: ignore + retention-days: 14