From e74235fdcec96dcbefbdad88fe5365b91b4e865e Mon Sep 17 00:00:00 2001 From: vignesh07 Date: Sun, 1 Feb 2026 23:19:33 -0800 Subject: [PATCH] ci(formal): compute drift for generated/ before model checking --- .github/workflows/formal-conformance.yml | 30 +++++++++++++----------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/.github/workflows/formal-conformance.yml b/.github/workflows/formal-conformance.yml index 491ebb4a20..2acfe503e6 100644 --- a/.github/workflows/formal-conformance.yml +++ b/.github/workflows/formal-conformance.yml @@ -37,6 +37,22 @@ jobs: node scripts/extract-tool-groups.mjs node scripts/check-tool-group-alias.mjs + # Drift is about extracted artifacts only; compute it before model checking + # to avoid any incidental file touches affecting the result. + - name: Compute drift (generated/*) + id: drift + run: | + set -euo pipefail + cd clawdbot-formal-models + + if git diff --quiet -- generated; then + echo "drift=false" >> "$GITHUB_OUTPUT" + exit 0 + fi + + echo "drift=true" >> "$GITHUB_OUTPUT" + git diff -- generated > "${GITHUB_WORKSPACE}/formal-models-drift.diff" + - name: Model check (green suite) run: | set -euo pipefail @@ -79,20 +95,6 @@ jobs: dedupe-collision-fallback-negative crash-restart-dedupe-negative two-worker-dedupe-negative openclaw-session-key-conformance-negative \ routing-thread-parent-channel-override-negative routing-trirule-negative gateway-auth-proxy-header-spoof-negative - - name: Compute drift - id: drift - run: | - set -euo pipefail - cd clawdbot-formal-models - - if git diff --quiet; then - echo "drift=false" >> "$GITHUB_OUTPUT" - exit 0 - fi - - echo "drift=true" >> "$GITHUB_OUTPUT" - git diff > "${GITHUB_WORKSPACE}/formal-models-drift.diff" - - name: Upload drift diff artifact if: steps.drift.outputs.drift == 'true' uses: actions/upload-artifact@v4