Skip to content

Commit c045d88

Browse files
committed
fix: handle null remote_servers in GitHub workflow
The workflow was failing when there are no remote servers because the remote_servers field is null in the JSON output. The jq commands were trying to iterate over null with [] which causes 'Cannot iterate over null' errors. Fixed by using (.remote_servers // {})[] pattern which provides an empty object fallback when remote_servers is null, allowing safe iteration.
1 parent 43c1d50 commit c045d88

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -136,28 +136,28 @@ jobs:
136136
137137
# Count by status (combine container and remote servers)
138138
ACTIVE_CONTAINER=$(jq '[.servers[] | select(.status == "Active")] | length' dist/registry.json)
139-
ACTIVE_REMOTE=$(jq '[.remote_servers[] | select(.status == "Active")] | length // 0' dist/registry.json)
139+
ACTIVE_REMOTE=$(jq '[(.remote_servers // {})[] | select(.status == "Active")] | length' dist/registry.json)
140140
ACTIVE=$((ACTIVE_CONTAINER + ACTIVE_REMOTE))
141141
142142
BETA_CONTAINER=$(jq '[.servers[] | select(.status == "Beta")] | length' dist/registry.json)
143-
BETA_REMOTE=$(jq '[.remote_servers[] | select(.status == "Beta")] | length // 0' dist/registry.json)
143+
BETA_REMOTE=$(jq '[(.remote_servers // {})[] | select(.status == "Beta")] | length' dist/registry.json)
144144
BETA=$((BETA_CONTAINER + BETA_REMOTE))
145145
146146
DEPRECATED_CONTAINER=$(jq '[.servers[] | select(.status == "Deprecated")] | length' dist/registry.json)
147-
DEPRECATED_REMOTE=$(jq '[.remote_servers[] | select(.status == "Deprecated")] | length // 0' dist/registry.json)
147+
DEPRECATED_REMOTE=$(jq '[(.remote_servers // {})[] | select(.status == "Deprecated")] | length' dist/registry.json)
148148
DEPRECATED=$((DEPRECATED_CONTAINER + DEPRECATED_REMOTE))
149149
150150
# Count by tier (combine container and remote servers)
151151
OFFICIAL_CONTAINER=$(jq '[.servers[] | select(.tier == "Official")] | length' dist/registry.json)
152-
OFFICIAL_REMOTE=$(jq '[.remote_servers[] | select(.tier == "Official")] | length // 0' dist/registry.json)
152+
OFFICIAL_REMOTE=$(jq '[(.remote_servers // {})[] | select(.tier == "Official")] | length' dist/registry.json)
153153
OFFICIAL=$((OFFICIAL_CONTAINER + OFFICIAL_REMOTE))
154154
155155
PARTNER_CONTAINER=$(jq '[.servers[] | select(.tier == "Partner")] | length' dist/registry.json)
156-
PARTNER_REMOTE=$(jq '[.remote_servers[] | select(.tier == "Partner")] | length // 0' dist/registry.json)
156+
PARTNER_REMOTE=$(jq '[(.remote_servers // {})[] | select(.tier == "Partner")] | length' dist/registry.json)
157157
PARTNER=$((PARTNER_CONTAINER + PARTNER_REMOTE))
158158
159159
COMMUNITY_CONTAINER=$(jq '[.servers[] | select(.tier == "Community")] | length' dist/registry.json)
160-
COMMUNITY_REMOTE=$(jq '[.remote_servers[] | select(.tier == "Community")] | length // 0' dist/registry.json)
160+
COMMUNITY_REMOTE=$(jq '[(.remote_servers // {})[] | select(.tier == "Community")] | length' dist/registry.json)
161161
COMMUNITY=$((COMMUNITY_CONTAINER + COMMUNITY_REMOTE))
162162
163163
echo "total=$TOTAL" >> $GITHUB_OUTPUT

0 commit comments

Comments
 (0)