| # |
| # 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 |