Browse Source

User standardized build system.

pull/1/head
John Engelman 9 years ago
parent
commit
ab8b30fc1f
  1. 30
      .drone.yml
  2. 34
      Makefile

30
.drone.yml

@ -1,28 +1,38 @@
build: build:
image: golang:1.5 image: golang:1.5
environment: environment:
- GO15VENDOREXPERIMENT=1
- GOOS=linux
- GOARCH=amd64
- CGO_ENABLED=0 - CGO_ENABLED=0
commands: commands:
- go get - make deps
- go build - make vet
- go test - make build
- make test
publish: publish:
coverage:
when:
branch: master
docker: docker:
username: drone username: $$DOCKER_USER
password: $$DOCKER_PASS password: $$DOCKER_PASS
email: $$DOCKER_EMAIL email: $$DOCKER_EMAIL
repo: objectpartners/drone-terraform repo: plugins/drone-terraform
tag: latest
when: when:
branch: master branch: master
docker:
username: $$DOCKER_USER
password: $$DOCKER_PASS
email: $$DOCKER_EMAIL
repo: plugins/drone-terraform
tag: develop
when:
branch: develop
plugin: plugin:
name: Terraform name: Terraform
desc: Execute Terraform commands desc: Execute Terraform plan and apply
type: deploy type: deploy
image: objectpartners/drone-terraform image: plugins/drone-terraform
labels: labels:
- terraform - terraform

34
Makefile

@ -1,8 +1,32 @@
deps: .PHONY: clean deps fmt vet test docker
GO15VENDOREXPERIMENT=1 go get -u ./...
EXECUTABLE ?= drone-terraform
IMAGE ?= plugins/$(EXECUTABLE)
CI_BUILD_NUMBER ?= 0
build: LDFLAGS = -X "main.buildDate=$(shell date -u '+%Y-%m-%d %H:%M:%S %Z')"
GO15VENDOREXPERIMENT=1 GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build PACKAGES = $(shell go list ./... | grep -v /vendor/)
clean: clean:
rm drone-terraform go clean -i ./...
deps:
go get -t ./...
fmt:
go fmt $(PACKAGES)
vet:
go vet $(PACKAGES)
test:
@for PKG in $(PACKAGES); do go test -cover -coverprofile $$GOPATH/src/$$PKG/coverage.out $$PKG || exit 1; done;
docker:
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags '-s -w $(LDFLAGS)'
docker build --rm -t $(IMAGE) .
$(EXECUTABLE): $(wildcard *.go)
go build -ldflags '-s -w $(LDFLAGS)'
build: $(EXECUTABLE)

Loading…
Cancel
Save