mirror of https://github.com/helm/helm
commit
32697fa226
@ -1,2 +1,4 @@
|
|||||||
|
.coverage/
|
||||||
|
bin/
|
||||||
vendor/
|
vendor/
|
||||||
_proto/*.pb.go
|
_proto/*.pb.go
|
||||||
|
@ -0,0 +1,44 @@
|
|||||||
|
GO ?= go
|
||||||
|
|
||||||
|
PKG := $(shell glide novendor)
|
||||||
|
TAGS :=
|
||||||
|
TESTS := .
|
||||||
|
TESTFLAGS :=
|
||||||
|
LDFLAGS :=
|
||||||
|
|
||||||
|
BINARIES := helm tiller
|
||||||
|
|
||||||
|
.PHONY: all
|
||||||
|
all: build
|
||||||
|
|
||||||
|
.PHONY: build
|
||||||
|
build:
|
||||||
|
@for i in $(BINARIES); do \
|
||||||
|
$(GO) build -o ./bin/$$i -v $(GOFLAGS) -tags '$(TAGS)' -ldflags '$(LDFLAGS)' ./cmd/$$i || exit 1; \
|
||||||
|
done
|
||||||
|
|
||||||
|
.PHONY: test
|
||||||
|
test: TESTFLAGS += -race -v
|
||||||
|
test: test-style
|
||||||
|
test: test-unit
|
||||||
|
|
||||||
|
.PHONY: test-unit
|
||||||
|
test-unit:
|
||||||
|
$(GO) test $(GOFLAGS) -run $(TESTS) $(PKG) $(TESTFLAGS)
|
||||||
|
|
||||||
|
.PHONY: test-style
|
||||||
|
test-style:
|
||||||
|
@scripts/validate-go.sh
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
|
clean:
|
||||||
|
rm -rf ./bin
|
||||||
|
|
||||||
|
.PHONY: coverage
|
||||||
|
coverage:
|
||||||
|
@scripts/coverage.sh
|
||||||
|
|
||||||
|
.PHONY: bootstrap
|
||||||
|
bootstrap:
|
||||||
|
glide install
|
||||||
|
|
@ -0,0 +1,31 @@
|
|||||||
|
machine:
|
||||||
|
environment:
|
||||||
|
GLIDE_VERSION: "0.10.1"
|
||||||
|
GO15VENDOREXPERIMENT: 1
|
||||||
|
GOPATH: /usr/local/go_workspace
|
||||||
|
HOME: /home/ubuntu
|
||||||
|
IMPORT_PATH: "github.com/deis/tiller"
|
||||||
|
PATH: $HOME/go/bin:$PATH
|
||||||
|
GOROOT: $HOME/go
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
override:
|
||||||
|
- mkdir -p $HOME/go
|
||||||
|
- wget "https://storage.googleapis.com/golang/go1.6.linux-amd64.tar.gz"
|
||||||
|
- tar -C $HOME -xzf go1.6.linux-amd64.tar.gz
|
||||||
|
- go version
|
||||||
|
- go env
|
||||||
|
- sudo chown -R $(whoami):staff /usr/local
|
||||||
|
- cd $GOPATH
|
||||||
|
- mkdir -p $GOPATH/src/$IMPORT_PATH
|
||||||
|
- cd $HOME/tiller
|
||||||
|
- rsync -az --delete ./ "$GOPATH/src/$IMPORT_PATH/"
|
||||||
|
- wget "https://github.com/Masterminds/glide/releases/download/$GLIDE_VERSION/glide-$GLIDE_VERSION-linux-amd64.tar.gz"
|
||||||
|
- mkdir -p $HOME/bin
|
||||||
|
- tar -vxz -C $HOME/bin --strip=1 -f glide-$GLIDE_VERSION-linux-amd64.tar.gz
|
||||||
|
- export PATH="$HOME/bin:$PATH" GLIDE_HOME="$HOME/.glide"
|
||||||
|
- cd $GOPATH/src/$IMPORT_PATH
|
||||||
|
|
||||||
|
test:
|
||||||
|
override:
|
||||||
|
- cd $GOPATH/src/$IMPORT_PATH && make bootstrap test
|
@ -0,0 +1,22 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
COVERDIR=${COVERDIR:-.coverage}
|
||||||
|
COVERMODE=${COVERMODE:-atomic}
|
||||||
|
PACKAGES=($(go list $(glide novendor)))
|
||||||
|
|
||||||
|
if [[ ! -d "$COVERDIR" ]]; then
|
||||||
|
mkdir -p "$COVERDIR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "mode: ${COVERMODE}" > "${COVERDIR}/coverage.out"
|
||||||
|
|
||||||
|
for d in "${PACKAGES[@]}"; do
|
||||||
|
go test -coverprofile=profile.out -covermode="$COVERMODE" "$d"
|
||||||
|
if [ -f profile.out ]; then
|
||||||
|
sed "/mode: $COVERMODE/d" profile.out >> "${COVERDIR}/coverage.out"
|
||||||
|
rm profile.out
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
go tool cover -html "${COVERDIR}/coverage.out" -o "${COVERDIR}/coverage.html"
|
@ -0,0 +1,41 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
readonly reset=$(tput sgr0)
|
||||||
|
readonly red=$(tput bold; tput setaf 1)
|
||||||
|
readonly green=$(tput bold; tput setaf 2)
|
||||||
|
readonly yellow=$(tput bold; tput setaf 3)
|
||||||
|
|
||||||
|
exit_code=0
|
||||||
|
|
||||||
|
find_go_files() {
|
||||||
|
find . -type f -name "*.go" | grep -v vendor
|
||||||
|
}
|
||||||
|
|
||||||
|
hash golint 2>/dev/null || go get -u github.com/golang/lint/golint
|
||||||
|
hash go vet 2>/dev/null || go get -u golang.org/x/tools/cmd/vet
|
||||||
|
|
||||||
|
echo "==> Running golint..."
|
||||||
|
for pkg in $(glide nv); do
|
||||||
|
if golint_out=$(golint "$pkg" 2>&1); then
|
||||||
|
echo "${yellow}${golint_out}${reset}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "==> Running go vet..."
|
||||||
|
echo -n "$red"
|
||||||
|
go vet $(glide nv) 2>&1 | grep -v "^exit status " || exit_code=${PIPESTATUS[0]}
|
||||||
|
echo -n "$reset"
|
||||||
|
|
||||||
|
echo "==> Running gofmt..."
|
||||||
|
failed_fmt=$(find_go_files | xargs gofmt -s -l)
|
||||||
|
if [[ -n "${failed_fmt}" ]]; then
|
||||||
|
echo -n "${red}"
|
||||||
|
echo "gofmt check failed:"
|
||||||
|
echo "$failed_fmt"
|
||||||
|
gofmt -s -d "${failed_fmt}"
|
||||||
|
echo -n "${reset}"
|
||||||
|
exit_code=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit ${exit_code}
|
Loading…
Reference in new issue