...
1FROM golang:1.15.3
2
3# Warm apt cache and install dependencies
4# bzip2 is required by the node_tests (to extract its dependencies).
5# patch is required by bazel tests
6RUN apt-get update && \
7 apt-get install -y wget unzip \
8 openjdk-11-jre \
9 bzip2 \
10 patch
11
12# Install swagger-codegen
13ENV SWAGGER_CODEGEN_VERSION=2.4.8
14RUN wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/${SWAGGER_CODEGEN_VERSION}/swagger-codegen-cli-${SWAGGER_CODEGEN_VERSION}.jar \
15 -O /usr/local/bin/swagger-codegen-cli.jar
16
17# Wrap the jar for swagger-codgen
18RUN echo -e '#!/bin/bash\njava -jar /usr/local/bin/swagger-codegen-cli.jar "$@"' > /usr/local/bin/swagger-codegen && \
19 chmod +x /usr/local/bin/swagger-codegen
20
21# Install protoc
22ENV PROTOC_VERSION=3.12.0
23RUN wget https://github.com/google/protobuf/releases/download/v${PROTOC_VERSION}/protoc-${PROTOC_VERSION}-linux-x86_64.zip \
24 -O /protoc-${PROTOC_VERSION}-linux-x86_64.zip && \
25 unzip /protoc-${PROTOC_VERSION}-linux-x86_64.zip -d /usr/local/ && \
26 rm -f /protoc-${PROTOC_VERSION}-linux-x86_64.zip
27
28# Install node, used by NVM
29ENV NODE_VERSION=v10.16.3
30ENV NVM_VERSION=v0.35.0
31RUN wget -qO- https://raw.githubusercontent.com/creationix/nvm/${NVM_VERSION}/install.sh | bash
32
33# Install Bazelisk as bazel to manage Bazel
34RUN go get github.com/bazelbuild/bazelisk && \
35 mv $(which bazelisk) /usr/local/bin/bazel
36
37# Clean up
38RUN apt-get autoremove -y && \
39 apt-get remove -y wget \
40 unzip && \
41 rm -rf /var/lib/apt/lists/*
View as plain text