Skip to content

Commit 9f8c03d

Browse files
committed
fix: make PURLs use oci type
1 parent 0ffa976 commit 9f8c03d

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

publish-image/action.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,13 @@ runs:
110110
DIGEST=${IMAGE_REPO_DIGEST#*@}
111111
112112
# Construct the package url (purl)
113-
# TODO (@Techassi): Can we use 'oci' instead of 'docker' as the type?
114-
PURL="pkg:docker/$IMAGE_REPOSITORY@$DIGEST?repository_url=$REGISTRY_URI"
113+
URLENCODED_DIGEST=$(echo "$DIGEST" | sed 's/:/%3A/g')
114+
URLENCODED_IMAGE_REPOSITORY=$(echo "$IMAGE_REPOSITORY" | sed 's/\//%2F/g')
115+
# Last item, split by /
116+
IMAGE_NAME=$(echo "$IMAGE_REPOSITORY" | awk -F'/' '{print $NF}')
117+
# Obtain architecture from container image
118+
ARCH=$(docker inspect --format='{{index .Architecture}}' "${IMAGE_REPO_DIGEST}")
119+
PURL="pkg:oci/$IMAGE_NAME@$URLENCODED_DIGEST?arch=${ARCH}&repository_url=${REGISTRY_URI}%2F${URLENCODED_IMAGE_REPOSITORY}"
115120
116121
# Get metadata from the image
117122
# NOTE (@Techassi): Maybe we should run this command only once

0 commit comments

Comments
 (0)