Skip to content

Commit 4213fec

Browse files
committed
Update publisher job with remote servers
Signed-off-by: Juan Antonio Osorio <[email protected]>
1 parent 8d767f7 commit 4213fec

File tree

1 file changed

+46
-10
lines changed

1 file changed

+46
-10
lines changed

.github/workflows/build-and-publish.yml

Lines changed: 46 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,10 @@ jobs:
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: |
@@ -92,6 +95,9 @@ jobs:
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

Comments
 (0)