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
|
- 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
|
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.
|
`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
|
### Features
|
||||||
- [#325](https://github.com/influxdb/telegraf/pull/325): NSQ output. Thanks @jrxFive!
|
- [#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
|
GOBIN = $(GOPATH)/bin
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Standard Telegraf build
|
||||||
build: prepare
|
build: prepare
|
||||||
$(GOBIN)/godep go build -o telegraf -ldflags \
|
$(GOBIN)/godep go build -o telegraf -ldflags \
|
||||||
"-X main.Version=$(VERSION)" \
|
"-X main.Version=$(VERSION)" \
|
||||||
./cmd/telegraf/telegraf.go
|
./cmd/telegraf/telegraf.go
|
||||||
|
|
||||||
|
# Build with race detector
|
||||||
dev: prepare
|
dev: prepare
|
||||||
$(GOBIN)/godep go build -race -o telegraf -ldflags \
|
$(GOBIN)/godep go build -race -o telegraf -ldflags \
|
||||||
"-X main.Version=$(VERSION)" \
|
"-X main.Version=$(VERSION)" \
|
||||||
./cmd/telegraf/telegraf.go
|
./cmd/telegraf/telegraf.go
|
||||||
|
|
||||||
|
# Build linux 64-bit, 32-bit and arm architectures
|
||||||
build-linux-bins: prepare
|
build-linux-bins: prepare
|
||||||
GOARCH=amd64 GOOS=linux $(GOBIN)/godep go build -o telegraf_linux_amd64 \
|
GOARCH=amd64 GOOS=linux $(GOBIN)/godep go build -o telegraf_linux_amd64 \
|
||||||
-ldflags "-X main.Version=$(VERSION)" \
|
-ldflags "-X main.Version=$(VERSION)" \
|
||||||
|
@ -25,9 +28,11 @@ build-linux-bins: prepare
|
||||||
-ldflags "-X main.Version=$(VERSION)" \
|
-ldflags "-X main.Version=$(VERSION)" \
|
||||||
./cmd/telegraf/telegraf.go
|
./cmd/telegraf/telegraf.go
|
||||||
|
|
||||||
|
# Get godep
|
||||||
prepare:
|
prepare:
|
||||||
go get github.com/tools/godep
|
go get github.com/tools/godep
|
||||||
|
|
||||||
|
# Run all docker containers necessary for unit tests
|
||||||
docker-run:
|
docker-run:
|
||||||
ifeq ($(UNAME), Darwin)
|
ifeq ($(UNAME), Darwin)
|
||||||
docker run --name kafka \
|
docker run --name kafka \
|
||||||
|
@ -52,6 +57,7 @@ endif
|
||||||
docker run --name aerospike -p "3000:3000" -d aerospike
|
docker run --name aerospike -p "3000:3000" -d aerospike
|
||||||
docker run --name nsq -p "4150:4150" -d nsqio/nsq /nsqd
|
docker run --name nsq -p "4150:4150" -d nsqio/nsq /nsqd
|
||||||
|
|
||||||
|
# Run docker containers necessary for CircleCI unit tests
|
||||||
docker-run-circle:
|
docker-run-circle:
|
||||||
docker run --name kafka \
|
docker run --name kafka \
|
||||||
-e ADVERTISED_HOST=localhost \
|
-e ADVERTISED_HOST=localhost \
|
||||||
|
@ -62,16 +68,19 @@ docker-run-circle:
|
||||||
docker run --name aerospike -p "3000:3000" -d aerospike
|
docker run --name aerospike -p "3000:3000" -d aerospike
|
||||||
docker run --name nsq -p "4150:4150" -d nsqio/nsq /nsqd
|
docker run --name nsq -p "4150:4150" -d nsqio/nsq /nsqd
|
||||||
|
|
||||||
|
# Kill all docker containers, ignore errors
|
||||||
docker-kill:
|
docker-kill:
|
||||||
-docker kill nsq aerospike redis opentsdb rabbitmq postgres memcached mysql kafka
|
-docker kill nsq aerospike redis opentsdb rabbitmq postgres memcached mysql kafka
|
||||||
-docker rm 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
|
test: docker-kill prepare docker-run
|
||||||
# Sleeping for kafka leadership election, TSDB setup, etc.
|
# Sleeping for kafka leadership election, TSDB setup, etc.
|
||||||
sleep 60
|
sleep 60
|
||||||
# SUCCESS, running tests
|
# SUCCESS, running tests
|
||||||
godep go test -race ./...
|
godep go test -race ./...
|
||||||
|
|
||||||
|
# Run "short" unit tests
|
||||||
test-short: prepare
|
test-short: prepare
|
||||||
$(GOBIN)/godep go test -short ./...
|
$(GOBIN)/godep go test -short ./...
|
||||||
|
|
||||||
|
|
|
@ -28,15 +28,6 @@ function check_go_fmt {
|
||||||
fi
|
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.
|
# Set up the build directory, and then GOPATH.
|
||||||
exit_if_fail mkdir $BUILD_DIR
|
exit_if_fail mkdir $BUILD_DIR
|
||||||
export GOPATH=$BUILD_DIR
|
export GOPATH=$BUILD_DIR
|
||||||
|
@ -45,11 +36,6 @@ export GOGC=off
|
||||||
export PATH=$GOPATH/bin:$PATH
|
export PATH=$GOPATH/bin:$PATH
|
||||||
exit_if_fail mkdir -p $GOPATH/src/github.com/influxdb
|
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.
|
# Dump some test config to the log.
|
||||||
echo "Test configuration"
|
echo "Test configuration"
|
||||||
echo "========================================"
|
echo "========================================"
|
||||||
|
@ -65,29 +51,21 @@ exit_if_fail cd $GOPATH/src/github.com/influxdb/telegraf
|
||||||
check_go_fmt
|
check_go_fmt
|
||||||
|
|
||||||
# Build the code
|
# Build the code
|
||||||
exit_if_fail godep go build -v ./...
|
exit_if_fail make
|
||||||
|
|
||||||
# Run the tests
|
# Run the tests
|
||||||
exit_if_fail godep go vet ./...
|
exit_if_fail godep go vet ./...
|
||||||
exit_if_fail make docker-run-circle
|
exit_if_fail make docker-run-circle
|
||||||
sleep 30
|
sleep 10
|
||||||
exit_if_fail godep go test -race ./...
|
exit_if_fail godep go test -race ./...
|
||||||
|
|
||||||
# Build binaries
|
|
||||||
build "linux" "amd64" $VERSION
|
|
||||||
build "linux" "386" $VERSION
|
|
||||||
build "linux" "arm" $VERSION
|
|
||||||
|
|
||||||
# Simple Integration Tests
|
# Simple Integration Tests
|
||||||
# check that version was properly set
|
# 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
|
# check that one test cpu & mem output work
|
||||||
tmpdir=$(mktemp -d)
|
tmpdir=$(mktemp -d)
|
||||||
./telegraf-linux-amd64 -sample-config > $tmpdir/config.toml
|
./telegraf -sample-config > $tmpdir/config.toml
|
||||||
exit_if_fail ./telegraf-linux-amd64 -config $tmpdir/config.toml \
|
exit_if_fail ./telegraf -config $tmpdir/config.toml \
|
||||||
-test -filter cpu:mem
|
-test -filter cpu:mem
|
||||||
|
|
||||||
# Artifact binaries
|
|
||||||
mv telegraf* $CIRCLE_ARTIFACTS
|
|
||||||
|
|
||||||
exit $rc
|
exit $rc
|
||||||
|
|
Loading…
Reference in New Issue