Răsfoiți Sursa

Let tag-details be more forgiving of a 404

Tianon Gravi 10 ani în urmă
părinte
comite
f95b39f921
1 a modificat fișierele cu 7 adăugiri și 0 ștergeri
  1. 7 0
      .template-helpers/generate-tag-details.pl

+ 7 - 0
.template-helpers/generate-tag-details.pl

@@ -82,6 +82,7 @@ sub get_manifest {
 	my $authorizationHeader = { Authorization => "Bearer $token" };
 
 	my $manifestTx = ua_req(get => "https://registry-1.docker.io/v2/$repo/manifests/$tag" => $authorizationHeader);
+	return () if $manifestTx->res->code == 404; # tag doesn't exist
 	die "failed to get manifest for $image" unless $manifestTx->success;
 	return (
 		$manifestTx->res->headers->header('Docker-Content-Digest'),
@@ -166,6 +167,12 @@ while (my $image = shift) {
 
 	my ($digest, $manifest) = get_manifest($repo, $tag);
 
+	unless (defined $digest && defined $manifest) {
+		# tag must not exist yet!
+		say "\n", '**does not exist** (yet?)';
+		next;
+	}
+
 	print "\n";
 	say '```console';
 	say '$ docker pull ' . $repo . '@' . $digest;