1010 - ' .claude-plugin/marketplace.json'
1111 - ' .claude-plugin/plugin.json'
1212 - ' .codex-plugin/plugin.json'
13+ - ' integrations/openclaw/SKILL.md'
1314 - ' .github/workflows/version-guard.yml'
1415
1516jobs :
@@ -27,12 +28,16 @@ jobs:
2728 marketplace_version=$(jq -r '.plugins[0].version' .claude-plugin/marketplace.json)
2829 plugin_version=$(jq -r '.version' .claude-plugin/plugin.json)
2930 codex_version=$(jq -r '.version' .codex-plugin/plugin.json)
31+ openclaw_version=$(grep -E '^version:' integrations/openclaw/SKILL.md | cut -d' ' -f2)
3032
31- echo "py_version=$py_version" >> "$GITHUB_OUTPUT"
32- echo "pyproject_version=$pyproject_version" >> "$GITHUB_OUTPUT"
33- echo "marketplace_version=$marketplace_version" >> "$GITHUB_OUTPUT"
34- echo "plugin_version=$plugin_version" >> "$GITHUB_OUTPUT"
35- echo "codex_version=$codex_version" >> "$GITHUB_OUTPUT"
33+ {
34+ echo "py_version=$py_version"
35+ echo "pyproject_version=$pyproject_version"
36+ echo "marketplace_version=$marketplace_version"
37+ echo "plugin_version=$plugin_version"
38+ echo "codex_version=$codex_version"
39+ echo "openclaw_version=$openclaw_version"
40+ } >> "$GITHUB_OUTPUT"
3641
3742 {
3843 echo "## Detected versions"
4449 echo "| .claude-plugin/marketplace.json | \`$marketplace_version\` |"
4550 echo "| .claude-plugin/plugin.json | \`$plugin_version\` |"
4651 echo "| .codex-plugin/plugin.json | \`$codex_version\` |"
52+ echo "| integrations/openclaw/SKILL.md | \`$openclaw_version\` |"
4753 } >> "$GITHUB_STEP_SUMMARY"
4854
4955 - name : Verify all sources agree
5359 MARKETPLACE : ${{ steps.versions.outputs.marketplace_version }}
5460 PLUGIN : ${{ steps.versions.outputs.plugin_version }}
5561 CODEX : ${{ steps.versions.outputs.codex_version }}
62+ OPENCLAW : ${{ steps.versions.outputs.openclaw_version }}
5663 run : |
5764 set -euo pipefail
5865 fail=0
@@ -63,11 +70,12 @@ jobs:
6370 fail=1
6471 fi
6572 }
66- # All five must agree with each other (use version.py as the reference, per CLAUDE.md)
73+ # All six must agree with each other (use version.py as the reference, per CLAUDE.md)
6774 check "pyproject.toml" "$PYPROJECT" "$PY"
6875 check ".claude-plugin/marketplace.json" "$MARKETPLACE" "$PY"
6976 check ".claude-plugin/plugin.json" "$PLUGIN" "$PY"
7077 check ".codex-plugin/plugin.json" "$CODEX" "$PY"
78+ check "integrations/openclaw/SKILL.md" "$OPENCLAW" "$PY"
7179 exit $fail
7280
7381 - name : Verify tag matches manifest (tag pushes only)
94102
95103 if [[ "$tag_version" != "$PY" ]]; then
96104 echo "::error::tag $GITHUB_REF_NAME does not match manifest version $PY"
97- echo "Bump mempalace/version.py, pyproject.toml, and all plugin manifests before tagging a stable release."
105+ echo "Bump mempalace/version.py, pyproject.toml, all plugin manifests, and the OpenClaw skill before tagging a stable release."
98106 echo "For an internal/staging tag, use a semver pre-release suffix (e.g. v${PY}-rc1)."
99107 exit 1
100108 fi
0 commit comments