mirror of
https://github.com/minio/minio.git
synced 2025-05-21 01:23:57 -04:00
Enable CI control from repository: Add Dockerfile.simpleci (#7122)
This commit is contained in:
parent
e005910051
commit
e9fdea05c6
49
Dockerfile.simpleci
Normal file
49
Dockerfile.simpleci
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
#-------------------------------------------------------------
|
||||||
|
# Stage 1: Build and Unit tests
|
||||||
|
#-------------------------------------------------------------
|
||||||
|
FROM golang:1.11.4
|
||||||
|
|
||||||
|
COPY . /go/src/github.com/minio/minio
|
||||||
|
WORKDIR /go/src/github.com/minio/minio
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y jq
|
||||||
|
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 15m "$d"; done
|
||||||
|
RUN make verify
|
||||||
|
RUN make coverage || true
|
||||||
|
|
||||||
|
#-------------------------------------------------------------
|
||||||
|
# Stage 2: Test Frontend
|
||||||
|
#-------------------------------------------------------------
|
||||||
|
FROM node:10.15-stretch-slim
|
||||||
|
|
||||||
|
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 ./minio
|
||||||
|
COPY buildscripts/gateway-tests.sh ./gateway-tests.sh
|
||||||
|
RUN apt-get update && apt-get install -y git wget jq curl dnsmasq
|
||||||
|
|
||||||
|
RUN wget https://dl.google.com/go/go1.11.4.linux-amd64.tar.gz && \
|
||||||
|
tar -C /usr/local -xzf go1.11.4.linux-amd64.tar.gz
|
||||||
|
|
||||||
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
ENV LANG C.UTF-8
|
||||||
|
ENV GOROOT /usr/local/go
|
||||||
|
|
||||||
|
RUN mkdir -p /go
|
||||||
|
ENV GOPATH /go
|
||||||
|
ENV PATH $GOPATH/bin:$GOROOT/bin:$PATH
|
||||||
|
|
||||||
|
RUN ./gateway-tests.sh
|
60
buildscripts/gateway-tests.sh
Executable file
60
buildscripts/gateway-tests.sh
Executable file
@ -0,0 +1,60 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Minio Cloud Storage, (C) 2019 Minio, Inc.
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -E
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
|
export SERVER_ENDPOINT=127.0.0.1:24240
|
||||||
|
export ENABLE_HTTPS=0
|
||||||
|
export ACCESS_KEY=minio
|
||||||
|
export SECRET_KEY=minio123
|
||||||
|
export MINIO_ACCESS_KEY=minio
|
||||||
|
export MINIO_SECRET_KEY=minio123
|
||||||
|
export AWS_ACCESS_KEY_ID=minio
|
||||||
|
export AWS_SECRET_ACCESS_KEY=minio123
|
||||||
|
|
||||||
|
trap "cat server.log;cat gateway.log" SIGHUP SIGINT SIGTERM
|
||||||
|
|
||||||
|
./minio --quiet --json server data --address 127.0.0.1:24242 > server.log &
|
||||||
|
sleep 3
|
||||||
|
./minio --quiet --json gateway s3 http://127.0.0.1:24242 --address 127.0.0.1:24240 > gateway.log &
|
||||||
|
sleep 3
|
||||||
|
|
||||||
|
mkdir -p /mint
|
||||||
|
git clone https://github.com/minio/mint /mint
|
||||||
|
cd /mint
|
||||||
|
|
||||||
|
export MINT_ROOT_DIR=${MINT_ROOT_DIR:-/mint}
|
||||||
|
export MINT_RUN_CORE_DIR="$MINT_ROOT_DIR/run/core"
|
||||||
|
export MINT_RUN_SECURITY_DIR="$MINT_ROOT_DIR/run/security"
|
||||||
|
export WGET="wget --quiet --no-check-certificate"
|
||||||
|
|
||||||
|
go get github.com/go-ini/ini
|
||||||
|
|
||||||
|
./create-data-files.sh
|
||||||
|
./preinstall.sh
|
||||||
|
|
||||||
|
# install mint app packages
|
||||||
|
for pkg in "build"/*/install.sh; do
|
||||||
|
echo "Running $pkg"
|
||||||
|
$pkg
|
||||||
|
done
|
||||||
|
|
||||||
|
./postinstall.sh
|
||||||
|
|
||||||
|
/mint/entrypoint.sh || cat server.log gateway.log fail
|
Loading…
x
Reference in New Issue
Block a user