@@ -64,11 +64,12 @@ packages=$(GH_HOST="$SOURCE_HOST" GH_TOKEN=$GH_SOURCE_PAT gh api --paginate "/or
6464echo " $packages " | while IFS= read -r response; do
6565
6666 package_name=$( echo " $response " | cut -d ' ' -f 1)
67+ encoded_package_name=$( echo " $package_name " | sed ' s/\//%2f/g' )
6768 repo_name=$( echo " $response " | cut -d ' ' -f 2)
6869
6970 echo " org: $SOURCE_ORG repo: $repo_name --> package name $package_name "
70-
71- versions=$( GH_HOST=" $SOURCE_HOST " GH_TOKEN=$GH_SOURCE_PAT gh api --paginate " /orgs/$SOURCE_ORG /packages/container/$package_name /versions" -q ' .[].metadata.container.tags[]' | sort -V)
71+
72+ versions=$( GH_HOST=" $SOURCE_HOST " GH_TOKEN=$GH_SOURCE_PAT gh api --paginate " /orgs/$SOURCE_ORG /packages/container/$encoded_package_name /versions" -q ' .[].metadata.container.tags[]' | sort -V)
7273 for version in $versions
7374 do
7475 echo " ... running docker pull $SOURCE_CONTAINER_REGISTRY /$SOURCE_ORG /$package_name :$version "
@@ -80,16 +81,16 @@ echo "$packages" | while IFS= read -r response; do
8081 if [ " $LINK_TO_REPOSITORY " = " true" ]; then
8182 echo " ... attempting to re-attach to target repo: $TARGET_ORG /$repo_name "
8283 # First, create a container from the image
83- container_id=$( docker create $TARGET_CONTAINER_REGISTRY /$TARGET_ORG /$package_name :$version || true)
84+ container_id=$( docker create $TARGET_CONTAINER_REGISTRY /$TARGET_ORG /$encoded_package_name :$version || true)
8485 # Then, commit the container to a new image with the label
85- docker commit --change " LABEL org.opencontainers.image.source=https://$TARGET_HOST /$TARGET_ORG /$repo_name " $container_id $TARGET_CONTAINER_REGISTRY /$TARGET_ORG /$package_name :$version || true
86+ docker commit --change " LABEL org.opencontainers.image.source=https://$TARGET_HOST /$TARGET_ORG /$repo_name " $container_id $TARGET_CONTAINER_REGISTRY /$TARGET_ORG /$encoded_package_name :$version || true
8687 # can also use --label "org.opencontainers.image.description=My container image" --label "org.opencontainers.image.licenses=MIT"
8788 # Remove the temporary container
8889 docker rm $container_id | true
8990 fi
9091
9192 echo " ... running docker push $TARGET_CONTAINER_REGISTRY /$TARGET_ORG /$package_name :$version "
92- docker push $TARGET_CONTAINER_REGISTRY /$TARGET_ORG /$package_name :$version || echo " $TARGET_CONTAINER_REGISTRY /$TARGET_ORG /$package_name :$version push failed" >> ghcr_target_failures.txt
93+ docker push $TARGET_CONTAINER_REGISTRY /$TARGET_ORG /$package_name :$version || echo " $TARGET_CONTAINER_REGISTRY /$TARGET_ORG /$package_name :$version push failed" >> ghcr_target_failures.txt
9394 echo " "
9495 done
9596
0 commit comments