Browse code

Use build args to override binary commits in dockerfile

Signed-off-by: Justen Martin <jmart@the-coder.com>
(cherry picked from commit 095ca77f4810b4e074ee47894f68434fece612c5)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

Justen Martin authored on 2019/09/13 05:22:56
Showing 9 changed files
... ...
@@ -154,18 +154,21 @@ FROM runtime-dev-cross-${CROSS} AS runtime-dev
154 154
 
155 155
 FROM base AS tomlv
156 156
 ENV INSTALL_BINARY_NAME=tomlv
157
+ARG TOMLV_COMMIT
157 158
 COPY hack/dockerfile/install/install.sh ./install.sh
158 159
 COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
159 160
 RUN PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
160 161
 
161 162
 FROM base AS vndr
162 163
 ENV INSTALL_BINARY_NAME=vndr
164
+ARG VNDR_COMMIT
163 165
 COPY hack/dockerfile/install/install.sh ./install.sh
164 166
 COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
165 167
 RUN PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
166 168
 
167 169
 FROM dev-base AS containerd
168 170
 ARG DEBIAN_FRONTEND
171
+ARG CONTAINERD_COMMIT
169 172
 RUN apt-get update && apt-get install -y --no-install-recommends \
170 173
 	btrfs-tools \
171 174
 	&& rm -rf /var/lib/apt/lists/*
... ...
@@ -176,6 +179,7 @@ RUN PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
176 176
 
177 177
 FROM dev-base AS proxy
178 178
 ENV INSTALL_BINARY_NAME=proxy
179
+ARG LIBNETWORK_COMMIT
179 180
 COPY hack/dockerfile/install/install.sh ./install.sh
180 181
 COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
181 182
 RUN PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
... ...
@@ -188,24 +192,30 @@ RUN PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
188 188
 
189 189
 FROM base AS gotestsum
190 190
 ENV INSTALL_BINARY_NAME=gotestsum
191
+ARG GOTESTSUM_COMMIT
191 192
 COPY hack/dockerfile/install/install.sh ./install.sh
192 193
 COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
193 194
 RUN PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
194 195
 
195 196
 FROM dev-base AS dockercli
196 197
 ENV INSTALL_BINARY_NAME=dockercli
198
+ARG DOCKERCLI_CHANNEL
199
+ARG DOCKERCLI_VERSION
197 200
 COPY hack/dockerfile/install/install.sh ./install.sh
198 201
 COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
199 202
 RUN PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
200 203
 
201 204
 FROM runtime-dev AS runc
202 205
 ENV INSTALL_BINARY_NAME=runc
206
+ARG RUNC_COMMIT
207
+ARG RUNC_BUILDTAGS
203 208
 COPY hack/dockerfile/install/install.sh ./install.sh
204 209
 COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
205 210
 RUN PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
206 211
 
207 212
 FROM dev-base AS tini
208 213
 ARG DEBIAN_FRONTEND
214
+ARG TINI_COMMIT
209 215
 RUN apt-get update && apt-get install -y --no-install-recommends \
210 216
 	cmake \
211 217
 	vim-common \
... ...
@@ -217,6 +227,7 @@ RUN PREFIX=/build ./install.sh $INSTALL_BINARY_NAME
217 217
 
218 218
 FROM dev-base AS rootlesskit
219 219
 ENV INSTALL_BINARY_NAME=rootlesskit
220
+ARG ROOTLESSKIT_COMMIT
220 221
 COPY hack/dockerfile/install/install.sh ./install.sh
221 222
 COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
222 223
 RUN PREFIX=/build/ ./install.sh $INSTALL_BINARY_NAME
... ...
@@ -4,7 +4,7 @@
4 4
 # containerd is also pinned in vendor.conf. When updating the binary
5 5
 # version you may also need to update the vendor version to pick up bug
6 6
 # fixes or new APIs.
7
-CONTAINERD_COMMIT=7ad184331fa3e55e52b890ea95e65ba581ae3429 # v1.2.13
7
+: ${CONTAINERD_COMMIT:=7ad184331fa3e55e52b890ea95e65ba581ae3429} # v1.2.13
8 8
 
9 9
 install_containerd() {
10 10
 	echo "Install containerd version $CONTAINERD_COMMIT"
... ...
@@ -1,7 +1,7 @@
1 1
 #!/bin/sh
2 2
 
3
-DOCKERCLI_CHANNEL=${DOCKERCLI_CHANNEL:-stable}
4
-DOCKERCLI_VERSION=${DOCKERCLI_VERSION:-17.06.2-ce}
3
+: ${DOCKERCLI_CHANNEL:=stable}
4
+: ${DOCKERCLI_VERSION:=17.06.2-ce}
5 5
 
6 6
 install_dockercli() {
7 7
 	echo "Install docker/cli version $DOCKERCLI_VERSION from $DOCKERCLI_CHANNEL"
... ...
@@ -1,6 +1,6 @@
1 1
 #!/bin/sh
2 2
 
3
-GOTESTSUM_COMMIT='v0.3.5'
3
+: ${GOTESTSUM_COMMIT:=v0.3.5}
4 4
 
5 5
 install_gotestsum() {
6 6
 	echo "Installing gotestsum version $GOTESTSUM_COMMIT"
... ...
@@ -3,7 +3,7 @@
3 3
 # LIBNETWORK_COMMIT is used to build the docker-userland-proxy binary. When
4 4
 # updating the binary version, consider updating github.com/docker/libnetwork
5 5
 # in vendor.conf accordingly
6
-LIBNETWORK_COMMIT=9fd385be8302dbe1071a3ce124891893ff27f90f # bump_19.03 branch
6
+: ${LIBNETWORK_COMMIT:=9fd385be8302dbe1071a3ce124891893ff27f90f} # bump_19.03 branch
7 7
 
8 8
 install_proxy() {
9 9
 	case "$1" in
... ...
@@ -4,7 +4,7 @@
4 4
 # The version of runc should match the version that is used by the containerd
5 5
 # version that is used. If you need to update runc, open a pull request in
6 6
 # the containerd project first, and update both after that is merged.
7
-RUNC_COMMIT=dc9208a3303feef5b3839f4323d9beb36df0a9dd # v1.0.0-rc10
7
+: ${RUNC_COMMIT:=dc9208a3303feef5b3839f4323d9beb36df0a9dd} # v1.0.0-rc10
8 8
 
9 9
 install_runc() {
10 10
 	# If using RHEL7 kernels (3.10.0 el7), disable kmem accounting/limiting
... ...
@@ -1,6 +1,6 @@
1 1
 #!/bin/sh
2 2
 
3
-TINI_COMMIT=fec3683b971d9c3ef73f284f176672c44b448662 # v0.18.0
3
+: ${TINI_COMMIT:=fec3683b971d9c3ef73f284f176672c44b448662} # v0.18.0
4 4
 
5 5
 install_tini() {
6 6
 	echo "Install tini version $TINI_COMMIT"
... ...
@@ -2,7 +2,7 @@
2 2
 
3 3
 # When updating TOMLV_COMMIT, consider updating github.com/BurntSushi/toml
4 4
 # in vendor.conf accordingly
5
-TOMLV_COMMIT=3012a1dbe2e4bd1391d42b32f0577cb7bbc7f005 # v0.3.1
5
+: ${TOMLV_COMMIT:=3012a1dbe2e4bd1391d42b32f0577cb7bbc7f005} # v0.3.1
6 6
 
7 7
 install_tomlv() {
8 8
 	echo "Install tomlv version $TOMLV_COMMIT"
... ...
@@ -1,6 +1,6 @@
1 1
 #!/bin/sh
2 2
 
3
-VNDR_COMMIT=f5ab8fc5fb64d66b5c6e55a0bcb58b2e92362fa0
3
+: ${VNDR_COMMIT:=f5ab8fc5fb64d66b5c6e55a0bcb58b2e92362fa0}
4 4
 
5 5
 install_vndr() {
6 6
 	echo "Install vndr version $VNDR_COMMIT"