Browse code

Use build args to override binary commits in dockerfile

Signed-off-by: Justen Martin <jmart@the-coder.com>

Justen Martin authored on 2019/09/13 05:22:56
Showing 10 changed files
... ...
@@ -138,6 +138,7 @@ FROM runtime-dev-cross-${CROSS} AS runtime-dev
138 138
 
139 139
 FROM base AS tomlv
140 140
 ENV INSTALL_BINARY_NAME=tomlv
141
+ARG TOMLV_COMMIT
141 142
 COPY hack/dockerfile/install/install.sh ./install.sh
142 143
 COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
143 144
 RUN --mount=type=cache,target=/root/.cache/go-build \
... ...
@@ -146,6 +147,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
146 146
 
147 147
 FROM base AS vndr
148 148
 ENV INSTALL_BINARY_NAME=vndr
149
+ARG VNDR_COMMIT
149 150
 COPY hack/dockerfile/install/install.sh ./install.sh
150 151
 COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
151 152
 RUN --mount=type=cache,target=/root/.cache/go-build \
... ...
@@ -154,6 +156,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
154 154
 
155 155
 FROM dev-base AS containerd
156 156
 ARG DEBIAN_FRONTEND
157
+ARG CONTAINERD_COMMIT
157 158
 RUN --mount=type=cache,sharing=locked,id=moby-containerd-aptlib,target=/var/lib/apt \
158 159
 	--mount=type=cache,sharing=locked,id=moby-containerd-aptcache,target=/var/cache/apt \
159 160
 		apt-get update && apt-get install -y --no-install-recommends \
... ...
@@ -167,6 +170,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
167 167
 
168 168
 FROM dev-base AS proxy
169 169
 ENV INSTALL_BINARY_NAME=proxy
170
+ARG LIBNETWORK_COMMIT
170 171
 COPY hack/dockerfile/install/install.sh ./install.sh
171 172
 COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
172 173
 RUN --mount=type=cache,target=/root/.cache/go-build \
... ...
@@ -175,6 +179,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
175 175
 
176 176
 FROM base AS golangci_lint
177 177
 ENV INSTALL_BINARY_NAME=golangci_lint
178
+ARG GOLANGCI_LINT_COMMIT
178 179
 COPY hack/dockerfile/install/install.sh ./install.sh
179 180
 COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
180 181
 RUN --mount=type=cache,target=/root/.cache/go-build \
... ...
@@ -183,6 +188,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
183 183
 
184 184
 FROM base AS gotestsum
185 185
 ENV INSTALL_BINARY_NAME=gotestsum
186
+ARG GOTESTSUM_COMMIT
186 187
 COPY hack/dockerfile/install/install.sh ./install.sh
187 188
 COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
188 189
 RUN --mount=type=cache,target=/root/.cache/go-build \
... ...
@@ -191,6 +197,8 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
191 191
 
192 192
 FROM dev-base AS dockercli
193 193
 ENV INSTALL_BINARY_NAME=dockercli
194
+ARG DOCKERCLI_CHANNEL
195
+ARG DOCKERCLI_VERSION
194 196
 COPY hack/dockerfile/install/install.sh ./install.sh
195 197
 COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
196 198
 RUN --mount=type=cache,target=/root/.cache/go-build \
... ...
@@ -199,6 +207,8 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
199 199
 
200 200
 FROM runtime-dev AS runc
201 201
 ENV INSTALL_BINARY_NAME=runc
202
+ARG RUNC_COMMIT
203
+ARG RUNC_BUILDTAGS
202 204
 COPY hack/dockerfile/install/install.sh ./install.sh
203 205
 COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
204 206
 RUN --mount=type=cache,target=/root/.cache/go-build \
... ...
@@ -207,6 +217,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
207 207
 
208 208
 FROM dev-base AS tini
209 209
 ARG DEBIAN_FRONTEND
210
+ARG TINI_COMMIT
210 211
 RUN --mount=type=cache,sharing=locked,id=moby-tini-aptlib,target=/var/lib/apt \
211 212
 	--mount=type=cache,sharing=locked,id=moby-tini-aptcache,target=/var/cache/apt \
212 213
 		apt-get update && apt-get install -y --no-install-recommends \
... ...
@@ -221,6 +232,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
221 221
 
222 222
 FROM dev-base AS rootlesskit
223 223
 ENV INSTALL_BINARY_NAME=rootlesskit
224
+ARG ROOTLESSKIT_COMMIT
224 225
 COPY hack/dockerfile/install/install.sh ./install.sh
225 226
 COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
226 227
 RUN --mount=type=cache,target=/root/.cache/go-build \
... ...
@@ -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=36cf5b690dcc00ff0f34ff7799209050c3d0c59a # v1.3.0
7
+: ${CONTAINERD_COMMIT:=36cf5b690dcc00ff0f34ff7799209050c3d0c59a} # v1.3.0
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=96bcc0dae898308ed659c5095526788a602f4726
6
+: ${LIBNETWORK_COMMIT:=96bcc0dae898308ed659c5095526788a602f4726}
7 7
 
8 8
 install_proxy() {
9 9
 	case "$1" in
... ...
@@ -1,7 +1,7 @@
1 1
 #!/bin/sh
2 2
 
3 3
 # v0.7.0
4
-ROOTLESSKIT_COMMIT=791ac8cb209a107505cd1ca5ddf23a49913e176c
4
+: ${ROOTLESSKIT_COMMIT:=791ac8cb209a107505cd1ca5ddf23a49913e176c}
5 5
 
6 6
 install_rootlesskit() {
7 7
 	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=3e425f80a8c931f88e6d94a8c831b9d5aa481657 # v1.0.0-rc8-92-g84373aaa
7
+: ${RUNC_COMMIT:=3e425f80a8c931f88e6d94a8c831b9d5aa481657} # v1.0.0-rc8-92-g84373aaa
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"