2016-05-26 11:28:02 -07:00
.PHONY : vendor docs build release
2015-05-15 14:55:26 -07:00
2015-09-29 18:21:17 -07:00
PACKAGES = $( shell go list ./... | grep -v /vendor/)
2014-02-07 03:10:01 -07:00
2016-05-12 20:41:58 +05:00
i f n e q ( $( shell uname ) , D a r w i n )
2016-05-13 08:30:02 +05:00
EXTLDFLAGS = -extldflags "-static" $( null)
2016-05-12 20:41:58 +05:00
e l s e
EXTLDFLAGS =
e n d i f
2016-05-26 11:08:48 -07:00
all : gen build_static
2015-09-29 18:21:17 -07:00
deps :
2015-10-06 14:50:41 -07:00
go get -u golang.org/x/tools/cmd/cover
go get -u github.com/eknkc/amber/...
go get -u github.com/eknkc/amber
go get -u github.com/jteeuwen/go-bindata/...
go get -u github.com/elazarl/go-bindata-assetfs/...
go get -u github.com/dchest/jsmin
go get -u github.com/franela/goblin
2015-09-29 18:21:17 -07:00
2015-10-06 10:19:43 -07:00
gen : gen_static gen_template gen_migrations
gen_static :
go generate github.com/drone/drone/static
gen_template :
go generate github.com/drone/drone/template
gen_migrations :
2016-03-25 12:54:16 -07:00
go generate github.com/drone/drone/store/datastore/ddl
2015-09-02 16:52:59 -07:00
2015-09-29 18:21:17 -07:00
test :
go test -cover $( PACKAGES)
2015-10-20 00:08:09 -07:00
# docker run --publish=3306:3306 -e MYSQL_DATABASE=test -e MYSQL_ALLOW_EMPTY_PASSWORD=yes mysql:5.6.27
test_mysql :
2015-11-11 14:52:29 -08:00
DATABASE_DRIVER = "mysql" DATABASE_CONFIG = "root@tcp(127.0.0.1:3306)/test?parseTime=true" go test github.com/drone/drone/store/datastore
2015-10-20 00:08:09 -07:00
# docker run --publish=5432:5432 postgres:9.4.5
test_postgres :
2015-11-11 14:52:29 -08:00
DATABASE_DRIVER = "postgres" DATABASE_CONFIG = "host=127.0.0.1 user=postgres dbname=postgres sslmode=disable" go test github.com/drone/drone/store/datastore
2015-10-20 00:08:09 -07:00
2016-05-26 11:08:48 -07:00
# build the release files
2016-05-26 11:17:24 -07:00
build : build_static build_cross build_tar build_sha
2016-05-26 11:08:48 -07:00
build_static :
2016-05-26 11:28:02 -07:00
go build --ldflags '${EXTLDFLAGS}-X github.com/drone/drone/version.VersionDev=$(DRONE_BUILD_NUMBER)' -o release/drone github.com/drone/drone/drone
2016-05-26 11:08:48 -07:00
# TODO this is getting moved to a shell script, do not alter
build_cross :
GOOS = linux GOARCH = amd64 CGO_ENABLED = 0 go build -o release/linux/amd64/drone github.com/drone/drone/drone
GOOS = linux GOARCH = arm64 CGO_ENABLED = 0 go build -o release/linux/arm64/drone github.com/drone/drone/drone
GOOS = linux GOARCH = arm CGO_ENABLED = 0 go build -o release/linux/arm/drone github.com/drone/drone/drone
GOOS = windows GOARCH = amd64 CGO_ENABLED = 0 go build -o release/windows/amd64/drone github.com/drone/drone/drone
GOOS = darwin GOARCH = amd64 CGO_ENABLED = 0 go build -o release/darwin/amd64/drone github.com/drone/drone/drone
# TODO this is getting moved to a shell script, do not alter
build_tar :
2016-06-27 22:18:36 +02:00
tar -cvzf release/linux/amd64/drone.tar.gz -C release/linux/amd64 drone
tar -cvzf release/linux/arm64/drone.tar.gz -C release/linux/arm64 drone
tar -cvzf release/linux/arm/drone.tar.gz -C release/linux/arm drone
tar -cvzf release/windows/amd64/drone.tar.gz -C release/windows/amd64 drone
tar -cvzf release/darwin/amd64/drone.tar.gz -C release/darwin/amd64 drone
2016-05-26 11:17:24 -07:00
# TODO this is getting moved to a shell script, do not alter
build_sha :
sha256sum release/linux/amd64/drone.tar.gz > release/linux/amd64/drone.sha256
sha256sum release/linux/arm64/drone.tar.gz > release/linux/arm64/drone.sha256
sha256sum release/linux/arm/drone.tar.gz > release/linux/arm/drone.sha256
sha256sum release/windows/amd64/drone.tar.gz > release/windows/amd64/drone.sha256
sha256sum release/darwin/amd64/drone.tar.gz > release/darwin/amd64/drone.sha256