@@ -34,6 +34,22 @@ dirCommit() {
34
34
)
35
35
}
36
36
37
+ getArches () {
38
+ local repo=" $1 " ; shift
39
+ local officialImagesUrl=' https://github.com/docker-library/official-images/raw/master/library/'
40
+
41
+ eval " declare -A -g parentRepoToArches=( $(
42
+ find -name ' Dockerfile' -exec awk '
43
+ toupper($1) == "FROM" && $2 !~ /^(' " $repo " ' |scratch|microsoft\/[^:]+)(:|$)/ {
44
+ print "' " $officialImagesUrl " ' " $2
45
+ }
46
+ ' ' {}' + \
47
+ | sort -u \
48
+ | xargs bashbrew cat --format ' [{{ .RepoName }}:{{ .TagName }}]="{{ join " " .TagEntry.Architectures }}"'
49
+ ) )"
50
+ }
51
+ getArches ' redis'
52
+
37
53
cat << -EOH
38
54
# this file is generated via https://github.com/docker-library/redis/blob/$( fileCommit " $self " ) /$self
39
55
@@ -59,9 +75,13 @@ for version in "${versions[@]}"; do
59
75
${aliases[$version]:- }
60
76
)
61
77
78
+ parent=" $( awk ' toupper($1) == "FROM" { print $2 }' " $version /Dockerfile" ) "
79
+ arches=" ${parentRepoToArches[$parent]} "
80
+
62
81
echo
63
82
cat << -EOE
64
83
Tags: $( join ' , ' " ${versionAliases[@]} " )
84
+ Architectures: $( join ' , ' $arches )
65
85
GitCommit: $commit
66
86
Directory: $version
67
87
EOE
@@ -87,9 +107,19 @@ for version in "${versions[@]}"; do
87
107
variantAliases=( " ${versionAliases[@]/%/ -$variant } " )
88
108
variantAliases=( " ${variantAliases[@]// latest-/ } " )
89
109
110
+ case " $v " in
111
+ 32bit) variantArches=' amd64' ;;
112
+ windows/* ) variantArches=' windows-amd64' ;;
113
+ * )
114
+ variantParent=" $( awk ' toupper($1) == "FROM" { print $2 }' " $version /$variant /Dockerfile" ) "
115
+ variantArches=" ${parentRepoToArches[$variantParent]} "
116
+ ;;
117
+ esac
118
+
90
119
echo
91
120
cat << -EOE
92
121
Tags: $( join ' , ' " ${variantAliases[@]} " )
122
+ Architectures: $( join ' , ' $variantArches )
93
123
GitCommit: $commit
94
124
Directory: $dir
95
125
EOE
0 commit comments