2016-08-06 18:02:19 +02:00
.PHONY : build
2015-05-15 23:55:26 +02:00
2015-09-30 03:21:17 +02:00
PACKAGES = $( shell go list ./... | grep -v /vendor/)
2014-02-07 13:10:01 +03:00
2016-05-12 17:41:58 +02:00
i f n e q ( $( shell uname ) , D a r w i n )
2016-05-13 05:30:02 +02:00
EXTLDFLAGS = -extldflags "-static" $( null)
2016-05-12 17:41:58 +02:00
e l s e
EXTLDFLAGS =
e n d i f
2016-05-26 20:08:48 +02:00
all : gen build_static
2015-09-30 03:21:17 +02:00
2016-07-09 00:40:29 +02:00
deps : deps_backend deps_frontend
deps_frontend :
go get -u github.com/drone/drone-ui/dist
deps_backend :
2015-10-06 23:50:41 +02:00
go get -u golang.org/x/tools/cmd/cover
go get -u github.com/jteeuwen/go-bindata/...
go get -u github.com/elazarl/go-bindata-assetfs/...
2015-10-06 19:19:43 +02:00
2016-07-09 00:40:29 +02:00
gen : gen_template gen_migrations
2015-10-06 19:19:43 +02:00
gen_template :
2016-07-09 00:40:29 +02:00
go generate github.com/drone/drone/server/template
2015-10-06 19:19:43 +02:00
gen_migrations :
2016-03-25 21:54:16 +02:00
go generate github.com/drone/drone/store/datastore/ddl
2015-09-03 01:52:59 +02:00
2015-09-30 03:21:17 +02:00
test :
go test -cover $( PACKAGES)
2015-10-20 09:08:09 +02:00
# docker run --publish=3306:3306 -e MYSQL_DATABASE=test -e MYSQL_ALLOW_EMPTY_PASSWORD=yes mysql:5.6.27
test_mysql :
2015-11-12 00:52:29 +02: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 09:08:09 +02:00
# docker run --publish=5432:5432 postgres:9.4.5
test_postgres :
2015-11-12 00:52:29 +02: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 09:08:09 +02:00
2016-05-26 20:08:48 +02:00
# build the release files
2016-05-26 20:17:24 +02:00
build : build_static build_cross build_tar build_sha
2016-05-26 20:08:48 +02:00
build_static :
2016-09-01 18:45:08 +02:00
go install -ldflags '${EXTLDFLAGS}-X github.com/drone/drone/version.VersionDev=$(DRONE_BUILD_NUMBER)' github.com/drone/drone/drone
2016-09-03 20:58:20 +02:00
mkdir -p release
cp $( GOPATH) /bin/drone release/
2016-05-26 20:08:48 +02: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 20:17:24 +02: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