Run make in circle, don't build arm and 32-bit
This commit is contained in:
parent
fa9555c430
commit
028bae8f04
|
@ -4,6 +4,7 @@
|
|||
- Telegraf will no longer use docker-compose for "long" unit test, it has been
|
||||
changed to just run docker commands in the Makefile. See `make docker-run` and
|
||||
`make docker-kill`. `make test` will still run all unit tests with docker.
|
||||
- Long unit tests are now run in CircleCI, with docker & race detector
|
||||
|
||||
### Features
|
||||
- [#325](https://github.com/influxdb/telegraf/pull/325): NSQ output. Thanks @jrxFive!
|
||||
|
|
9
Makefile
9
Makefile
|
@ -4,16 +4,19 @@ ifndef GOBIN
|
|||
GOBIN = $(GOPATH)/bin
|
||||
endif
|
||||
|
||||
# Standard Telegraf build
|
||||
build: prepare
|
||||
$(GOBIN)/godep go build -o telegraf -ldflags \
|
||||
"-X main.Version=$(VERSION)" \
|
||||
./cmd/telegraf/telegraf.go
|
||||
|
||||
# Build with race detector
|
||||
dev: prepare
|
||||
$(GOBIN)/godep go build -race -o telegraf -ldflags \
|
||||
"-X main.Version=$(VERSION)" \
|
||||
./cmd/telegraf/telegraf.go
|
||||
|
||||
# Build linux 64-bit, 32-bit and arm architectures
|
||||
build-linux-bins: prepare
|
||||
GOARCH=amd64 GOOS=linux $(GOBIN)/godep go build -o telegraf_linux_amd64 \
|
||||
-ldflags "-X main.Version=$(VERSION)" \
|
||||
|
@ -25,9 +28,11 @@ build-linux-bins: prepare
|
|||
-ldflags "-X main.Version=$(VERSION)" \
|
||||
./cmd/telegraf/telegraf.go
|
||||
|
||||
# Get godep
|
||||
prepare:
|
||||
go get github.com/tools/godep
|
||||
|
||||
# Run all docker containers necessary for unit tests
|
||||
docker-run:
|
||||
ifeq ($(UNAME), Darwin)
|
||||
docker run --name kafka \
|
||||
|
@ -52,6 +57,7 @@ endif
|
|||
docker run --name aerospike -p "3000:3000" -d aerospike
|
||||
docker run --name nsq -p "4150:4150" -d nsqio/nsq /nsqd
|
||||
|
||||
# Run docker containers necessary for CircleCI unit tests
|
||||
docker-run-circle:
|
||||
docker run --name kafka \
|
||||
-e ADVERTISED_HOST=localhost \
|
||||
|
@ -62,16 +68,19 @@ docker-run-circle:
|
|||
docker run --name aerospike -p "3000:3000" -d aerospike
|
||||
docker run --name nsq -p "4150:4150" -d nsqio/nsq /nsqd
|
||||
|
||||
# Kill all docker containers, ignore errors
|
||||
docker-kill:
|
||||
-docker kill nsq aerospike redis opentsdb rabbitmq postgres memcached mysql kafka
|
||||
-docker rm nsq aerospike redis opentsdb rabbitmq postgres memcached mysql kafka
|
||||
|
||||
# Run full unit tests using docker containers (includes setup and teardown)
|
||||
test: docker-kill prepare docker-run
|
||||
# Sleeping for kafka leadership election, TSDB setup, etc.
|
||||
sleep 60
|
||||
# SUCCESS, running tests
|
||||
godep go test -race ./...
|
||||
|
||||
# Run "short" unit tests
|
||||
test-short: prepare
|
||||
$(GOBIN)/godep go test -short ./...
|
||||
|
||||
|
|
|
@ -28,15 +28,6 @@ function check_go_fmt {
|
|||
fi
|
||||
}
|
||||
|
||||
# build takes three arguments: GOOS & GOARCH & VERSION
|
||||
function build {
|
||||
echo -n "=> $1-$2: "
|
||||
GOOS=$1 GOARCH=$2 godep go build -o telegraf-$1-$2 \
|
||||
-ldflags "-X main.Version=$3" \
|
||||
./cmd/telegraf/telegraf.go
|
||||
du -h telegraf-$1-$2
|
||||
}
|
||||
|
||||
# Set up the build directory, and then GOPATH.
|
||||
exit_if_fail mkdir $BUILD_DIR
|
||||
export GOPATH=$BUILD_DIR
|
||||
|
@ -45,11 +36,6 @@ export GOGC=off
|
|||
export PATH=$GOPATH/bin:$PATH
|
||||
exit_if_fail mkdir -p $GOPATH/src/github.com/influxdb
|
||||
|
||||
# Get golint
|
||||
go get github.com/golang/lint/golint
|
||||
# Get godep tool
|
||||
go get github.com/tools/godep
|
||||
|
||||
# Dump some test config to the log.
|
||||
echo "Test configuration"
|
||||
echo "========================================"
|
||||
|
@ -65,29 +51,21 @@ exit_if_fail cd $GOPATH/src/github.com/influxdb/telegraf
|
|||
check_go_fmt
|
||||
|
||||
# Build the code
|
||||
exit_if_fail godep go build -v ./...
|
||||
exit_if_fail make
|
||||
|
||||
# Run the tests
|
||||
exit_if_fail godep go vet ./...
|
||||
exit_if_fail make docker-run-circle
|
||||
sleep 30
|
||||
sleep 10
|
||||
exit_if_fail godep go test -race ./...
|
||||
|
||||
# Build binaries
|
||||
build "linux" "amd64" $VERSION
|
||||
build "linux" "386" $VERSION
|
||||
build "linux" "arm" $VERSION
|
||||
|
||||
# Simple Integration Tests
|
||||
# check that version was properly set
|
||||
exit_if_fail "./telegraf-linux-amd64 -version | grep $VERSION"
|
||||
exit_if_fail "./telegraf -version | grep $VERSION"
|
||||
# check that one test cpu & mem output work
|
||||
tmpdir=$(mktemp -d)
|
||||
./telegraf-linux-amd64 -sample-config > $tmpdir/config.toml
|
||||
exit_if_fail ./telegraf-linux-amd64 -config $tmpdir/config.toml \
|
||||
./telegraf -sample-config > $tmpdir/config.toml
|
||||
exit_if_fail ./telegraf -config $tmpdir/config.toml \
|
||||
-test -filter cpu:mem
|
||||
|
||||
# Artifact binaries
|
||||
mv telegraf* $CIRCLE_ARTIFACTS
|
||||
|
||||
exit $rc
|
||||
|
|
Loading…
Reference in New Issue