@@ -117,10 +117,16 @@ jobs:
117117 image-name : test-mono-arch-signed
118118 platform-count : 1
119119 platforms : ' ["linux/amd64"]'
120+ expected-tagged-versions : 2
121+ expected-untagged-versions : 2
122+ expected-total-versions : 4
120123 - arch-type : multi-arch
121124 image-name : test-multi-arch-signed
122125 platform-count : 2
123126 platforms : ' ["linux/amd64","linux/arm64"]'
127+ expected-tagged-versions : 2
128+ expected-untagged-versions : 3
129+ expected-total-versions : 5
124130 steps :
125131 - name : Login to GitHub Container Registry
126132 uses : docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
@@ -140,17 +146,40 @@ jobs:
140146 env :
141147 GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
142148 IMAGE_NAME : ${{ matrix.image-name }}
149+ EXPECTED_TOTAL_VERSIONS : ${{ matrix.expected-total-versions }}
150+ EXPECTED_TAGGED_VERSIONS : ${{ matrix.expected-tagged-versions }}
151+ EXPECTED_UNTAGGED_VERSIONS : ${{ matrix.expected-untagged-versions }}
143152 run : |
144- versions_count=$(gh api \
153+ # Get all versions
154+ versions=$(gh api \
145155 -H "Accept: application/vnd.github+json" \
146156 -H "X-GitHub-Api-Version: 2022-11-28" \
147- /orgs/${{ github.repository_owner }}/packages/container/ci-github-container%2F"${IMAGE_NAME}"/versions | jq '. | length' )
157+ /orgs/${{ github.repository_owner }}/packages/container/ci-github-container%2F"${IMAGE_NAME}"/versions)
148158
149- if [ "$versions_count" -ne 2 ]; then
150- echo "Expected 2 versions (1 tagged and 1 untagged), but found $versions_count"
159+ total_count=$(echo "$versions" | jq '. | length')
160+ tagged_count=$(echo "$versions" | jq '[.[] | select(.metadata.container.tags | length > 0)] | length')
161+ untagged_count=$(echo "$versions" | jq '[.[] | select(.metadata.container.tags | length == 0)] | length')
162+
163+ echo "Found $total_count total versions ($tagged_count tagged, $untagged_count untagged)"
164+ echo "Expected $EXPECTED_TOTAL_VERSIONS total versions ($EXPECTED_TAGGED_VERSIONS tagged, $EXPECTED_UNTAGGED_VERSIONS untagged)"
165+
166+ if [ "$total_count" -ne "$EXPECTED_TOTAL_VERSIONS" ]; then
167+ echo "ERROR: Expected $EXPECTED_TOTAL_VERSIONS total versions, but found $total_count"
168+ exit 1
169+ fi
170+
171+ if [ "$tagged_count" -ne "$EXPECTED_TAGGED_VERSIONS" ]; then
172+ echo "ERROR: Expected $EXPECTED_TAGGED_VERSIONS tagged versions, but found $tagged_count"
151173 exit 1
152174 fi
153175
176+ if [ "$untagged_count" -ne "$EXPECTED_UNTAGGED_VERSIONS" ]; then
177+ echo "ERROR: Expected $EXPECTED_UNTAGGED_VERSIONS untagged versions, but found $untagged_count"
178+ exit 1
179+ fi
180+
181+ echo "✓ Package version counts are correct"
182+
154183 - name : Verify image manifest and platforms
155184 uses : actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
156185 env :
@@ -214,10 +243,16 @@ jobs:
214243 image-name : test-mono-arch-unsigned
215244 platform-count : 1
216245 platforms : ' ["linux/amd64"]'
246+ expected-tagged-versions : 1
247+ expected-untagged-versions : 1
248+ expected-total-versions : 2
217249 - arch-type : multi-arch
218250 image-name : test-multi-arch-unsigned
219251 platform-count : 2
220252 platforms : ' ["linux/amd64","linux/arm64"]'
253+ expected-tagged-versions : 1
254+ expected-untagged-versions : 2
255+ expected-total-versions : 3
221256 steps :
222257 - name : Login to GitHub Container Registry
223258 uses : docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
@@ -237,17 +272,40 @@ jobs:
237272 env :
238273 GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
239274 IMAGE_NAME : ${{ matrix.image-name }}
275+ EXPECTED_TOTAL_VERSIONS : ${{ matrix.expected-total-versions }}
276+ EXPECTED_TAGGED_VERSIONS : ${{ matrix.expected-tagged-versions }}
277+ EXPECTED_UNTAGGED_VERSIONS : ${{ matrix.expected-untagged-versions }}
240278 run : |
241- versions_count=$(gh api \
279+ # Get all versions
280+ versions=$(gh api \
242281 -H "Accept: application/vnd.github+json" \
243282 -H "X-GitHub-Api-Version: 2022-11-28" \
244- /orgs/${{ github.repository_owner }}/packages/container/ci-github-container%2F"${IMAGE_NAME}"/versions | jq '. | length' )
283+ /orgs/${{ github.repository_owner }}/packages/container/ci-github-container%2F"${IMAGE_NAME}"/versions)
245284
246- if [ "$versions_count" -ne 2 ]; then
247- echo "Expected 2 versions (1 tagged and 1 untagged), but found $versions_count"
285+ total_count=$(echo "$versions" | jq '. | length')
286+ tagged_count=$(echo "$versions" | jq '[.[] | select(.metadata.container.tags | length > 0)] | length')
287+ untagged_count=$(echo "$versions" | jq '[.[] | select(.metadata.container.tags | length == 0)] | length')
288+
289+ echo "Found $total_count total versions ($tagged_count tagged, $untagged_count untagged)"
290+ echo "Expected $EXPECTED_TOTAL_VERSIONS total versions ($EXPECTED_TAGGED_VERSIONS tagged, $EXPECTED_UNTAGGED_VERSIONS untagged)"
291+
292+ if [ "$total_count" -ne "$EXPECTED_TOTAL_VERSIONS" ]; then
293+ echo "ERROR: Expected $EXPECTED_TOTAL_VERSIONS total versions, but found $total_count"
294+ exit 1
295+ fi
296+
297+ if [ "$tagged_count" -ne "$EXPECTED_TAGGED_VERSIONS" ]; then
298+ echo "ERROR: Expected $EXPECTED_TAGGED_VERSIONS tagged versions, but found $tagged_count"
248299 exit 1
249300 fi
250301
302+ if [ "$untagged_count" -ne "$EXPECTED_UNTAGGED_VERSIONS" ]; then
303+ echo "ERROR: Expected $EXPECTED_UNTAGGED_VERSIONS untagged versions, but found $untagged_count"
304+ exit 1
305+ fi
306+
307+ echo "✓ Package version counts are correct"
308+
251309 - name : Verify image manifest and platforms
252310 uses : actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
253311 env :
0 commit comments