7777 mkdir -p dist
7878 ./registry-builder build -v
7979 cp build/registry.json dist/registry.json
80- echo "Registry built successfully with $(jq '.servers | length' dist/registry.json) entries"
80+ CONTAINER_COUNT=$(jq '.servers | length' dist/registry.json)
81+ REMOTE_COUNT=$(jq '.remote_servers | length // 0' dist/registry.json)
82+ TOTAL_COUNT=$((CONTAINER_COUNT + REMOTE_COUNT))
83+ echo "Registry built successfully with $TOTAL_COUNT entries ($CONTAINER_COUNT container-based, $REMOTE_COUNT remote)"
8184
8285 - name : Validate JSON
8386 run : |
9295 jq -e '.servers' dist/registry.json > /dev/null
9396 echo "✅ Has servers field"
9497
98+ # Check for remote_servers field (may be empty)
99+ jq -e 'has("remote_servers")' dist/registry.json > /dev/null && echo "✅ Has remote_servers field" || echo "⚠️ No remote_servers field"
100+
95101 jq -e '."$schema"' dist/registry.json > /dev/null
96102 echo "✅ Has schema field"
97103
@@ -104,16 +110,40 @@ jobs:
104110 echo "version=$VERSION" >> $GITHUB_OUTPUT
105111 echo "timestamp=$TIMESTAMP" >> $GITHUB_OUTPUT
106112
107- # Count servers by status and tier
108- TOTAL=$(jq '.servers | length' dist/registry.json)
109- ACTIVE=$(jq '[.servers[] | select(.status == "Active")] | length' dist/registry.json)
110- BETA=$(jq '[.servers[] | select(.status == "Beta")] | length' dist/registry.json)
111- DEPRECATED=$(jq '[.servers[] | select(.status == "Deprecated")] | length' dist/registry.json)
112- OFFICIAL=$(jq '[.servers[] | select(.tier == "Official")] | length' dist/registry.json)
113- PARTNER=$(jq '[.servers[] | select(.tier == "Partner")] | length' dist/registry.json)
114- COMMUNITY=$(jq '[.servers[] | select(.tier == "Community")] | length' dist/registry.json)
113+ # Count servers by status and tier (including both container and remote servers)
114+ CONTAINER_COUNT=$(jq '.servers | length' dist/registry.json)
115+ REMOTE_COUNT=$(jq '.remote_servers | length // 0' dist/registry.json)
116+ TOTAL=$((CONTAINER_COUNT + REMOTE_COUNT))
117+
118+ # Count by status (combine container and remote servers)
119+ ACTIVE_CONTAINER=$(jq '[.servers[] | select(.status == "Active")] | length' dist/registry.json)
120+ ACTIVE_REMOTE=$(jq '[.remote_servers[] | select(.status == "Active")] | length // 0' dist/registry.json)
121+ ACTIVE=$((ACTIVE_CONTAINER + ACTIVE_REMOTE))
122+
123+ BETA_CONTAINER=$(jq '[.servers[] | select(.status == "Beta")] | length' dist/registry.json)
124+ BETA_REMOTE=$(jq '[.remote_servers[] | select(.status == "Beta")] | length // 0' dist/registry.json)
125+ BETA=$((BETA_CONTAINER + BETA_REMOTE))
126+
127+ DEPRECATED_CONTAINER=$(jq '[.servers[] | select(.status == "Deprecated")] | length' dist/registry.json)
128+ DEPRECATED_REMOTE=$(jq '[.remote_servers[] | select(.status == "Deprecated")] | length // 0' dist/registry.json)
129+ DEPRECATED=$((DEPRECATED_CONTAINER + DEPRECATED_REMOTE))
130+
131+ # Count by tier (combine container and remote servers)
132+ OFFICIAL_CONTAINER=$(jq '[.servers[] | select(.tier == "Official")] | length' dist/registry.json)
133+ OFFICIAL_REMOTE=$(jq '[.remote_servers[] | select(.tier == "Official")] | length // 0' dist/registry.json)
134+ OFFICIAL=$((OFFICIAL_CONTAINER + OFFICIAL_REMOTE))
135+
136+ PARTNER_CONTAINER=$(jq '[.servers[] | select(.tier == "Partner")] | length' dist/registry.json)
137+ PARTNER_REMOTE=$(jq '[.remote_servers[] | select(.tier == "Partner")] | length // 0' dist/registry.json)
138+ PARTNER=$((PARTNER_CONTAINER + PARTNER_REMOTE))
139+
140+ COMMUNITY_CONTAINER=$(jq '[.servers[] | select(.tier == "Community")] | length' dist/registry.json)
141+ COMMUNITY_REMOTE=$(jq '[.remote_servers[] | select(.tier == "Community")] | length // 0' dist/registry.json)
142+ COMMUNITY=$((COMMUNITY_CONTAINER + COMMUNITY_REMOTE))
115143
116144 echo "total=$TOTAL" >> $GITHUB_OUTPUT
145+ echo "container_count=$CONTAINER_COUNT" >> $GITHUB_OUTPUT
146+ echo "remote_count=$REMOTE_COUNT" >> $GITHUB_OUTPUT
117147 echo "active=$ACTIVE" >> $GITHUB_OUTPUT
118148 echo "beta=$BETA" >> $GITHUB_OUTPUT
119149 echo "deprecated=$DEPRECATED" >> $GITHUB_OUTPUT
@@ -188,6 +218,8 @@ jobs:
188218 | Category | Count |
189219 |----------|-------|
190220 | **Total Servers** | ${{ steps.metadata.outputs.total }} |
221+ | **Container-based** | ${{ steps.metadata.outputs.container_count }} |
222+ | **Remote** | ${{ steps.metadata.outputs.remote_count }} |
191223 | **Active** | ${{ steps.metadata.outputs.active }} |
192224 | **Beta** | ${{ steps.metadata.outputs.beta }} |
193225 | **Deprecated** | ${{ steps.metadata.outputs.deprecated }} |
@@ -272,14 +304,18 @@ jobs:
272304
273305 - name : Generate PR comment
274306 run : |
275- TOTAL=$(jq '.servers | length' build/registry.json)
307+ CONTAINER_COUNT=$(jq '.servers | length' build/registry.json)
308+ REMOTE_COUNT=$(jq '.remote_servers | length // 0' build/registry.json)
309+ TOTAL=$((CONTAINER_COUNT + REMOTE_COUNT))
276310 SIZE=$(du -h build/registry.json | cut -f1)
277311
278312 echo "## 📦 Registry Build Preview" > pr-comment.md
279313 echo "" >> pr-comment.md
280314 echo "✅ Registry built successfully!" >> pr-comment.md
281315 echo "" >> pr-comment.md
282316 echo "- **Total Servers**: $TOTAL" >> pr-comment.md
317+ echo " - Container-based: $CONTAINER_COUNT" >> pr-comment.md
318+ echo " - Remote: $REMOTE_COUNT" >> pr-comment.md
283319 echo "- **File Size**: $SIZE" >> pr-comment.md
284320 echo "- **Last Updated**: $(jq -r '.last_updated' build/registry.json)" >> pr-comment.md
285321 echo "" >> pr-comment.md
0 commit comments