standardize actionloop Dockerfile build logic (#40)
diff --git a/core/ruby2.6ActionLoop/Dockerfile b/core/ruby2.6ActionLoop/Dockerfile
index f307aca..812d7d1 100644
--- a/core/ruby2.6ActionLoop/Dockerfile
+++ b/core/ruby2.6ActionLoop/Dockerfile
@@ -14,18 +14,30 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-FROM golang:1.11 as builder
-ENV PROXY_SOURCE=https://github.com/apache/openwhisk-runtime-go/archive/golang1.11@1.13.0-incubating.tar.gz
-RUN curl -L "$PROXY_SOURCE" | tar xzf - \
- && mkdir -p src/github.com/apache \
- && mv openwhisk-runtime-go-golang1.11-1.13.0-incubating \
- src/github.com/apache/incubator-openwhisk-runtime-go \
- && cd src/github.com/apache/incubator-openwhisk-runtime-go/main \
- && CGO_ENABLED=0 go build -o /bin/proxy
+
+# build go proxy from source
+FROM golang:1.12 AS builder_source
+RUN env CGO_ENABLED=0 go get github.com/apache/openwhisk-runtime-go/main && mv /go/bin/main /bin/proxy
+
+# or build it from a release
+FROM golang:1.12 AS builder_release
+ARG GO_PROXY_RELEASE_VERSION=1.12@1.15.0
+RUN curl -sL \
+ https://github.com/apache/openwhisk-runtime-go/archive/{$GO_PROXY_RELEASE_VERSION}.tar.gz\
+ | tar xzf -\
+ && cd openwhisk-runtime-go-*/main\
+ && GO111MODULE=on go build -o /bin/proxy
+
FROM ruby:2.6.2-alpine3.9
+
+# select the builder to use
+ARG GO_PROXY_BUILD_FROM=release
+
RUN mkdir -p /proxy/bin /proxy/lib /proxy/action
WORKDIR /proxy
-COPY --from=builder bin/proxy /bin/proxy
+COPY --from=builder_source /bin/proxy /bin/proxy_source
+COPY --from=builder_release /bin/proxy /bin/proxy_release
+RUN mv /bin/proxy_${GO_PROXY_BUILD_FROM} /bin/proxy
ADD lib/launcher.rb /proxy/lib/launcher.rb
ADD bin/compile /proxy/bin/compile
RUN apk update && apk add python3
diff --git a/gradle/docker.gradle b/gradle/docker.gradle
index 6ad6850..790c1e1 100644
--- a/gradle/docker.gradle
+++ b/gradle/docker.gradle
@@ -54,7 +54,7 @@
}
if(project.hasProperty('dockerBuildArgs')) {
- dockerBuildArgs.each { arg ->
+ dockerBuildArgs.split(' ').each { arg ->
dockerBuildArg += ['--build-arg', arg]
}
}