@@ -109,12 +109,17 @@ jobs:
109
109
tags_array="["
110
110
first=true
111
111
112
- # Extract versions directly from matrix config using grep/ sed
112
+ # Extract versions using grep and sed
113
113
matrix_json='${{ needs.prepare.outputs.matrix_config }}'
114
- versions=$(echo "$matrix_json" | grep -o '"version":"[^"]*"' | sed 's/"version":"\(.*\)"/\1 /')
114
+ versions=$(echo "$matrix_json" | grep -o '"version":"[^"]*"' | sed 's/.*:"//;s/"/ /')
115
115
116
116
# For each version
117
117
while read -r version; do
118
+ # Skip empty versions
119
+ if [ -z "$version" ]; then
120
+ continue
121
+ fi
122
+
118
123
if [ "$first" = true ]; then
119
124
first=false
120
125
else
@@ -128,15 +133,25 @@ jobs:
128
133
else
129
134
PG_VERSION=$(nix run nixpkgs#yq -- '.postgres_release["postgres'$version'"]' ansible/vars.yml)
130
135
fi
131
- PG_VERSION=$(echo $PG_VERSION | tr -d '"')
132
136
133
- versions_array+="\"${version}\""
134
- tags_array+="\"supabase/postgres:${PG_VERSION}\""
137
+ # Ensure PG_VERSION is not empty and remove quotes
138
+ if [ -n "$PG_VERSION" ]; then
139
+ PG_VERSION=$(echo $PG_VERSION | tr -d '"')
140
+
141
+ versions_array+="\"${version}\""
142
+ tags_array+="\"supabase/postgres:${PG_VERSION}\""
143
+ fi
135
144
done <<< "$versions"
136
145
137
146
versions_array+="]"
138
147
tags_array+="]"
139
148
149
+ # Validate arrays are not empty
150
+ if [ "$versions_array" = "[]" ] || [ "$tags_array" = "[]" ]; then
151
+ echo "Error: No valid versions found"
152
+ exit 1
153
+ fi
154
+
140
155
echo "versions=$versions_array" >> $GITHUB_OUTPUT
141
156
echo "image_tags=$tags_array" >> $GITHUB_OUTPUT
142
157
0 commit comments