diff --git a/.agents/skills/release-openclaw-ci/SKILL.md b/.agents/skills/release-openclaw-ci/SKILL.md index 8b767d396a8..c0c5b6cd2ee 100644 --- a/.agents/skills/release-openclaw-ci/SKILL.md +++ b/.agents/skills/release-openclaw-ci/SKILL.md @@ -65,6 +65,13 @@ gh workflow run openclaw-performance.yml \ Prefer the trusted workflow on `main`, target the exact release SHA: +- Keep trusted-workflow checks compatible with frozen release targets. If + `main` adds a target-owned guard script or package command after the release + branch cut, make the trusted workflow skip only when that target surface is + absent. Heal the trusted workflow before rerunning validation; do not port an + unrelated runtime refactor or mutate the release candidate just to satisfy a + newer `main`-only check. + ```bash gh workflow run full-release-validation.yml \ --repo openclaw/openclaw \ diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7ad8bae7888..575c611227a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1523,7 +1523,13 @@ jobs: fi ;; session-transcript-reader-boundary) - run_check "lint:tmp:session-transcript-reader-boundary" pnpm run lint:tmp:session-transcript-reader-boundary + if [ ! -f scripts/check-session-transcript-reader-boundary.mjs ]; then + echo "[skip] session transcript reader boundary check is not present in this checkout" + elif ! node -e 'const pkg = require("./package.json"); process.exit(pkg.scripts?.["lint:tmp:session-transcript-reader-boundary"] ? 0 : 1);'; then + echo "[skip] session transcript reader boundary script is not present in package.json" + else + run_check "lint:tmp:session-transcript-reader-boundary" pnpm run lint:tmp:session-transcript-reader-boundary + fi ;; extension-channels) run_check "lint:extensions:channels" pnpm run lint:extensions:channels