blob: cb4228d06a82bd9f5a63f51ebe2adae1c3318e72 [file] [log] [blame]
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
FROM debian:buster
RUN apt-get update && \
apt-get install -y --no-install-recommends \
ca-certificates \
# gcc is a CGO dependency
gcc \
git \
# libc6-dev is a CGO dependency
libc6-dev \
wget && \
apt-get clean
COPY GO_VERSION /
RUN go_version=$(cat /GO_VERSION) && \
wget -O go.tar.gz https://dl.google.com/go/go${go_version}.linux-amd64.tar.gz && \
tar -C /usr/local -xvzf go.tar.gz && \
ln -s /usr/local/go/bin/go /usr/bin/go && \
rm go.tar.gz
ENV GOPATH=/go
ENV PATH="${PATH}:${GOPATH}/bin"
ARG DIR=github.com/apache/trafficcontrol
ADD traffic_monitor /go/src/$DIR/traffic_monitor
ADD traffic_ops /go/src/$DIR/traffic_ops
ADD lib /go/src/$DIR/lib
ADD go.mod go.sum /go/src/$DIR/
ADD vendor /go/src/$DIR/vendor
VOLUME ["/junit"]
WORKDIR /go/src/$DIR/traffic_monitor
RUN bash -c "go install github.com/jstemmer/go-junit-report@latest"
RUN bash -c "go mod vendor -v"
CMD bash -c 'go test -v ./... ../lib/go-tc/... 2>&1 | go-junit-report --package-name=golang.test.tm --set-exit-code > /junit/golang.test.tm.xml && chmod 777 -R /junit && cat /junit/golang.test.tm.xml'
#
# vi:syntax=Dockerfile