...

Text file src/github.com/aws/aws-sdk-go-v2/internal/awstesting/sandbox/Dockerfile.golang-tip

Documentation: github.com/aws/aws-sdk-go-v2/internal/awstesting/sandbox

     1# Based on docker-library's golang 1.6 alpine and wheezy docker files.
     2# https://github.com/docker-library/golang/blob/master/1.6/alpine/Dockerfile
     3# https://github.com/docker-library/golang/blob/master/1.6/wheezy/Dockerfile
     4FROM buildpack-deps:buster-scm
     5
     6ENV GOLANG_SRC_REPO_URL https://github.com/golang/go
     7
     8# as of 1.20 Go 1.17 is required to bootstrap
     9# see https://github.com/golang/go/issues/44505
    10ENV GOLANG_BOOTSTRAP_URL https://go.dev/dl/go1.17.13.linux-amd64.tar.gz
    11ENV GOLANG_BOOTSTRAP_SHA256 4cdd2bc664724dc7db94ad51b503512c5ae7220951cac568120f64f8e94399fc
    12ENV GOLANG_BOOTSTRAP_PATH /usr/local/bootstrap
    13
    14# gcc for cgo
    15RUN apt-get update && apt-get install -y --no-install-recommends \
    16		g++ \
    17		gcc \
    18		libc6-dev \
    19		make \
    20		git \
    21	&& rm -rf /var/lib/apt/lists/*
    22
    23# Setup the Bootstrap
    24RUN mkdir -p "$GOLANG_BOOTSTRAP_PATH" \
    25	&& curl -fsSL "$GOLANG_BOOTSTRAP_URL" -o golang.tar.gz \
    26	&& echo "$GOLANG_BOOTSTRAP_SHA256  golang.tar.gz" | sha256sum -c - \
    27	&& tar -C "$GOLANG_BOOTSTRAP_PATH" -xzf golang.tar.gz \
    28	&& rm golang.tar.gz
    29
    30# Get and build Go tip
    31RUN export GOROOT_BOOTSTRAP=$GOLANG_BOOTSTRAP_PATH/go \
    32	&& git clone "$GOLANG_SRC_REPO_URL" /usr/local/go \
    33	&& cd /usr/local/go/src \
    34	&& ./make.bash \
    35	&& rm -rf "$GOLANG_BOOTSTRAP_PATH" /usr/local/go/pkg/bootstrap
    36
    37# Build Go workspace and environment
    38ENV GOPATH /go
    39ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH
    40RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" \
    41	&& chmod -R 777 "$GOPATH"
    42
    43WORKDIR $GOPATH

View as plain text