@@ -183,39 +183,6 @@ jobs:
183183 # view extracted content from store
184184 cat hauler-manifest-local.yaml
185185
186- - name : Verify - hauler store delete-artifact
187- run : |
188- hauler store delete-artifact --help
189- # add test images
190- hauler store add image docker.io/library/nginx:1.25-alpine
191- hauler store add image docker.io/library/nginx:1.26-alpine
192- # confirm artifacts
193- hauler store info | grep 'nginx:1.25'
194- hauler store info | grep 'nginx:1.26'
195- # count blobs before delete
196- BLOBS_BEFORE=$(find store/blobs/sha256 -type f | wc -l | xargs)
197- echo "blobs before deletion: $BLOBS_BEFORE"
198- # delete one artifact
199- hauler store delete-artifact nginx:1.25 --force
200- # verify artifact removed
201- ! hauler store info | grep -q "nginx:1.25"
202- # non-deleted artifact exists
203- hauler store info | grep -q "nginx:1.26"
204- # count blobs after delete
205- BLOBS_AFTER=$(find store/blobs/sha256 -type f | wc -l | xargs)
206- echo "blobs after deletion: $BLOBS_AFTER"
207- # verify only unreferenced blobs removed
208- if [ "$BLOBS_AFTER" -ge "$BLOBS_BEFORE" ]; then
209- echo "ERROR: No blobs were cleaned up"
210- exit 1
211- fi
212- if [ "$BLOBS_AFTER" -eq 0 ]; then
213- echo "ERROR: All blobs deleted (shared layers removed)"
214- exit 1
215- fi
216- # verify remaining image not missing layers
217- hauler store extract docker.io/library/nginx:1.26-alpine
218-
219186 - name : Verify - hauler store info
220187 run : |
221188 hauler store info --help
@@ -347,6 +314,39 @@ jobs:
347314 # verify fileserver directory structure
348315 tree -hC fileserver
349316
317+ - name : Verify - hauler store delete-artifact
318+ run : |
319+ hauler store delete-artifact --help
320+ # add test images
321+ hauler store add image docker.io/library/nginx:1.25-alpine
322+ hauler store add image docker.io/library/nginx:1.26-alpine
323+ # confirm artifacts
324+ hauler store info | grep 'nginx:1.25'
325+ hauler store info | grep 'nginx:1.26'
326+ # count blobs before delete
327+ BLOBS_BEFORE=$(find store/blobs/sha256 -type f | wc -l | xargs)
328+ echo "blobs before deletion: $BLOBS_BEFORE"
329+ # delete one artifact
330+ hauler store delete-artifact nginx:1.25 --force
331+ # verify artifact removed
332+ ! hauler store info | grep -q "nginx:1.25"
333+ # non-deleted artifact exists
334+ hauler store info | grep -q "nginx:1.26"
335+ # count blobs after delete
336+ BLOBS_AFTER=$(find store/blobs/sha256 -type f | wc -l | xargs)
337+ echo "blobs after deletion: $BLOBS_AFTER"
338+ # verify only unreferenced blobs removed
339+ if [ "$BLOBS_AFTER" -ge "$BLOBS_BEFORE" ]; then
340+ echo "ERROR: No blobs were cleaned up"
341+ exit 1
342+ fi
343+ if [ "$BLOBS_AFTER" -eq 0 ]; then
344+ echo "ERROR: All blobs deleted (shared layers removed)"
345+ exit 1
346+ fi
347+ # verify remaining image not missing layers
348+ hauler store extract docker.io/library/nginx:1.26-alpine
349+
350350 - name : Create Hauler Report
351351 run : |
352352 hauler version >> hauler-report.txt
0 commit comments