@@ -95,11 +95,15 @@ jobs:
9595 echo ""
9696 echo "=== Checking $plugin_name ==="
9797
98+ # Check both Claude (.claude-plugin) and Codex (.codex-plugin) manifest paths
9899 PLUGIN_JSON="plugins/${plugin_name}/.claude-plugin/plugin.json"
100+ if [ ! -f "$PLUGIN_JSON" ]; then
101+ PLUGIN_JSON="plugins/${plugin_name}/.codex-plugin/plugin.json"
102+ fi
99103
100104 if [ ! -f "$PLUGIN_JSON" ]; then
101105 echo "❌ ERROR: No plugin.json found for $plugin_name!"
102- echo "Plugin changes detected but plugin.json is missing at: $PLUGIN_JSON "
106+ echo "Checked: plugins/${plugin_name}/.claude- plugin/plugin .json and plugins/${plugin_name}/.codex-plugin/plugin.json "
103107 ALL_PASSED=false
104108 continue
105109 fi
@@ -115,10 +119,16 @@ jobs:
115119 echo "plugin.json: ${BASE_PLUGIN_VERSION:-new} → $PR_PLUGIN_VERSION"
116120 echo "marketplace.json: ${BASE_MARKETPLACE_VERSION:-new} → $PR_MARKETPLACE_VERSION"
117121
118- # Check if plugin exists in marketplace
122+ # Check if plugin exists in Claude marketplace
123+ # Codex plugins use .agents/plugins/marketplace.json (no version field) and are exempt
119124 if [ "$PR_MARKETPLACE_VERSION" == "null" ] || [ -z "$PR_MARKETPLACE_VERSION" ]; then
120- echo "❌ ERROR: Plugin $plugin_name not found in marketplace.json!"
121- echo "Please add an entry for $plugin_name in $MARKETPLACE_JSON"
125+ echo "ℹ️ Plugin $plugin_name not in Claude marketplace ($MARKETPLACE_JSON)"
126+ echo " Checking if it has its own manifest..."
127+ if [ -f "$PLUGIN_JSON" ]; then
128+ echo "✅ $plugin_name has manifest at $PLUGIN_JSON (version: $PR_PLUGIN_VERSION)"
129+ continue
130+ fi
131+ echo "❌ ERROR: Plugin $plugin_name not found in any marketplace!"
122132 ALL_PASSED=false
123133 continue
124134 fi
0 commit comments