mirror of
https://github.com/minio/minio.git
synced 2024-12-26 07:05:55 -05:00
3e9ab5f4a9
In replica sets, hosts resolve to localhost IP automatically until the deployment fully comes up. To avoid this issue we need to wait for such resolution.
79 lines
2.1 KiB
Docker
79 lines
2.1 KiB
Docker
#-------------------------------------------------------------
|
|
# Stage 1: Build and Unit tests
|
|
#-------------------------------------------------------------
|
|
FROM golang:1.13
|
|
|
|
COPY . /go/src/github.com/minio/minio
|
|
WORKDIR /go/src/github.com/minio/minio
|
|
|
|
RUN apt-get update && apt-get install -y jq
|
|
ENV GO111MODULE=on
|
|
ENV SIMPLE_CI 1
|
|
|
|
RUN git config --global http.cookiefile /gitcookie/.gitcookie
|
|
|
|
RUN apt-get update && \
|
|
apt-get -y install sudo
|
|
RUN touch /etc/sudoers
|
|
|
|
RUN echo "root ALL=(ALL) ALL" >> /etc/sudoers
|
|
RUN echo "ci ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
|
RUN echo "Defaults env_reset" >> /etc/sudoers
|
|
RUN echo 'Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/go:/usr/local/go/bin"' >> /etc/sudoers
|
|
|
|
RUN mkdir -p /home/ci/.cache
|
|
|
|
RUN groupadd -g 999 ci && \
|
|
useradd -r -u 999 -g ci ci && \
|
|
chown -R ci:ci /go /home/ci && \
|
|
chmod -R a+rw /go
|
|
|
|
USER ci
|
|
|
|
# -- tests --
|
|
RUN make
|
|
RUN bash -c 'diff -au <(gofmt -s -d cmd) <(printf "")'
|
|
RUN bash -c 'diff -au <(gofmt -s -d pkg) <(printf "")'
|
|
RUN for d in $(go list ./... | grep -v browser); do go test -v -race --timeout 20m "$d"; done
|
|
RUN make verifiers
|
|
RUN make crosscompile
|
|
RUN make verify
|
|
|
|
#-------------------------------------------------------------
|
|
# Stage 2: Test Frontend
|
|
#-------------------------------------------------------------
|
|
FROM node:10.15-stretch-slim
|
|
|
|
ENV SIMPLE_CI 1
|
|
|
|
COPY browser /minio/browser
|
|
WORKDIR /minio/browser
|
|
|
|
RUN yarn
|
|
RUN yarn test
|
|
|
|
#-------------------------------------------------------------
|
|
# Stage 3: Run Gateway Tests
|
|
#-------------------------------------------------------------
|
|
FROM ubuntu:16.04
|
|
|
|
COPY --from=0 /go/src/github.com/minio/minio/minio /usr/bin/minio
|
|
COPY buildscripts/gateway-tests.sh /usr/bin/gateway-tests.sh
|
|
COPY mint /mint
|
|
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
ENV LANG C.UTF-8
|
|
ENV GOROOT /usr/local/go
|
|
ENV GOPATH /usr/local
|
|
ENV PATH $GOPATH/bin:$GOROOT/bin:$PATH
|
|
ENV SIMPLE_CI 1
|
|
ENV MINT_ROOT_DIR /mint
|
|
|
|
RUN apt-get --yes update && apt-get --yes upgrade && \
|
|
apt-get --yes --quiet install wget jq curl git dnsmasq && \
|
|
cd /mint && /mint/release.sh
|
|
|
|
WORKDIR /mint
|
|
|
|
RUN /usr/bin/gateway-tests.sh
|