distros-test-framework/scripts/Dockerfile.build

47 lines
1.5 KiB
Docker

FROM golang:alpine
ARG TF_VERSION=1.5.7
ENV TERRAFORM_VERSION=$TF_VERSION
RUN apk update && \
apk upgrade --update-cache --available && \
apk add --no-cache curl git jq bash openssh unzip gcc g++ make ca-certificates aws-cli && \
rm -rf /var/cache/apk/* && \
if [ "$(uname -m)" = "aarch64" ]; then \
KUBE_ARCH="linux/arm64" && \
TF_ARCH="linux_arm64"; \
else \
KUBE_ARCH="linux/amd64" && \
TF_ARCH="linux_amd64"; \
fi && \
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/${KUBE_ARCH}/kubectl" && \
chmod +x ./kubectl && \
mv ./kubectl /usr/local/bin && \
mkdir tmp && \
curl "https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_${TF_ARCH}.zip" -o tmp/terraform.zip && \
unzip tmp/terraform.zip -d /usr/local/bin && \
chmod +x /usr/local/bin/terraform && \
export VERIFY_CHECKSUM=false && \
rm -rf tmp && \
mkdir -p /root/.ssh && \
mkdir -p /root/.aws
# Just to make sure its installed alright
RUN aws --version
RUN curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b /usr/local/bin v1.55.2
WORKDIR $GOPATH/src/github.com/rancher/distros-test-framework
COPY . .
RUN CGO_ENABLED=0
RUN go mod download
RUN go mod tidy
RUN chmod +x $GOPATH/src/github.com/rancher/distros-test-framework/scripts/entrypoint.sh
ENTRYPOINT ["/go/src/github.com/rancher/distros-test-framework/scripts/entrypoint.sh"]