From 8cca2292e9242cbe947eb6f66e77466b85e566b8 Mon Sep 17 00:00:00 2001 From: Thomas Boerger Date: Mon, 18 Jan 2016 22:33:07 +0100 Subject: [PATCH] Unification: Drone config, Makefile, structure and badges --- .drone.sec | 2 +- .drone.yml | 14 ++++++++++++ Makefile | 31 +++++++++++++------------- README.md | 65 +++++++++++++++++++++++++++++++++++++++--------------- main.go | 1 - 5 files changed, 78 insertions(+), 35 deletions(-) diff --git a/.drone.sec b/.drone.sec index 8906dbb..4aa5528 100644 --- a/.drone.sec +++ b/.drone.sec @@ -1 +1 @@ -eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkExMjhHQ00ifQ.zeqSbFcQcvYWrqhKdEZIlvaDBtTzf4ropMZQo5rf50Dqxz2kngqZm-xrK2lXvXJfjF3SMQt_4snZFpfzorum9L2TuqUeuyTcRuSSkYP7kGRTfDX4gC4qTKIhv41ahUDhgLW4VSY4F2T3ETWfZqma6BZXg1BoLWYDtxIYTtLkEJHJpPW3unudgjJ-I5_twEc6gr9OkmI5WI7BXtKTuQgru0i8CXrWkSINaLZxxSy3zl4If705MSrf1xXIyi3E85IMoVvVmwPGddtpEpOJju_fF_dueNzFvG5WlI_n2AkqEr5YFyxp_FO6qr0L44QsotygPa-cmJwwqmmNenf3qeTwCA.e89rssWN0XZrMcfi.ZbHH59hh6Koiil1XGhJIcGBDoJ2P8IG3k_XVP46lnkIasINQ9iTax1cZC7GxJvg_ALMQ-4wOS7h6IyJvGGuAly0KwM14bEBZGkTpep-CPxkRGd9GYrSwKIXBKMSHwLape2DRWWY0iKvhkQLKjMBr_oPRnfMkILbox-L3cWb0t6jlfN00jzyW3r6EB3cY_4cLFI94X5wTyZiQmF3eOHkCEF0zxc-Xs7oRvzNLtUbZ.TYmLUWSvhDyF4a8Ww8mJrg \ No newline at end of file +eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkExMjhHQ00ifQ.zIZPFzihqcXgWK0D3eLbrSXYK_1PQznfeVzKjVBsEs9C1nHAm71GjtQ4WlFI17pgs3JMZYMCJGg5jylg3WMD2Fxqeomucv2dTpeg4R-qacuUerkBk_3fyThNh2IOqzNbr3hHPyyVwtelXk6eInJQhoa6HBaXfpPTW0_x5JHNGeMuqWIXpZceLENm46t9zh-DsqnrXnhay4gB6kjoYAM8fxV4bRYbj-ef8XTg4G6ZS7dlTZdrOWIvFmYWNGF4dnRFN7EtxvkT7zTutAeNa4wZsc-p3qX03LKsc3kNijUhLtywh1AzZ-wEiOa2nGLQov5SLEnmpQbwJZQ9meS---LG8Q.TaGSxaCL3H-MXwSp.E0OSE8VqYg1Bs8Qxo2uIi03HMQ5Cxg4THetXBK5Z5G2_Qxt_7LMo1eOmvpi_aHOEPrd53hz3Uzn0C4PTZiD6TfMG_viMiJVHpzBayN3ZjUAs7JRavheCXgnlO5u1kgyp3XmRW089JbBFl2fMs8a7Bob8jLoQPJFyEIBGEJuUayE3pmSQ98Hhw3u1KAxbLG9iJqWErICNEZoSWPfhuWU-K5FMtxP0Ewx0ceqHKhJTQdqZycsFS7aeOgq5MtUMF3T7nsFX-tnrdv4siCiYT4kI9nGTQCCW3i3-nLq9ZkD5JbLs_IG1sfVNabd1hI2OpjAfL717Mp37AFbd0dPhlU7kxUytrTwiU3JVd1vr6EA1gd5TGA3CHOxjeVLpfHXMW6SJKTE3a0Wgi_YsWz336JkMkQkywgv8g6A0mpUhMcEt_Is.sSdenvAYiKXLuRdPszf25A \ No newline at end of file diff --git a/.drone.yml b/.drone.yml index e9154cb..6e5aee5 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,5 +1,7 @@ build: image: golang:1.5 + environment: + - CGO_ENABLED=0 commands: - make deps - make vet @@ -7,13 +9,25 @@ build: - make test publish: + coverage: + when: + branch: master docker: username: $$DOCKER_USER password: $$DOCKER_PASS email: $$DOCKER_EMAIL repo: plugins/drone-ssh + tag: latest when: branch: master + docker: + username: $$DOCKER_USER + password: $$DOCKER_PASS + email: $$DOCKER_EMAIL + repo: plugins/drone-ssh + tag: develop + when: + branch: develop plugin: name: SSH diff --git a/Makefile b/Makefile index af971e3..b4e5df8 100644 --- a/Makefile +++ b/Makefile @@ -1,13 +1,11 @@ -.PHONY: clean deps test build docker - -export GOOS ?= linux -export GOARCH ?= amd64 -export CGO_ENABLED ?= 0 +.PHONY: clean deps fmt vet test docker +EXECUTABLE ?= drone-ssh +IMAGE ?= plugins/$(EXECUTABLE) CI_BUILD_NUMBER ?= 0 -LDFLAGS += -X "main.buildDate=$(shell date -u '+%Y-%m-%d %H:%M:%S %Z')" -LDFLAGS += -X "main.build=$(CI_BUILD_NUMBER)" +LDFLAGS = -X "main.buildDate=$(shell date -u '+%Y-%m-%d %H:%M:%S %Z')" +PACKAGES = $(shell go list ./... | grep -v /vendor/) clean: go clean -i ./... @@ -15,17 +13,20 @@ clean: deps: go get -t ./... -test: - go test -cover ./... - fmt: - go fmt ./... + go fmt $(PACKAGES) vet: - go vet ./... + go vet $(PACKAGES) -build: - go build -ldflags '-s -w $(LDFLAGS)' +test: + @for PKG in $(PACKAGES); do go test -cover -coverprofile $$GOPATH/src/$$PKG/coverage.out $$PKG || exit 1; done; docker: - docker build --rm=true -t plugins/drone-ssh . + 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) diff --git a/README.md b/README.md index 66735fc..45eb90d 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,49 @@ # drone-ssh [![Build Status](http://beta.drone.io/api/badges/drone-plugins/drone-ssh/status.svg)](http://beta.drone.io/drone-plugins/drone-ssh) +[![Coverage Status](https://aircover.co/badges/drone-plugins/drone-ssh/coverage.svg)](https://aircover.co/drone-plugins/drone-ssh) [![](https://badge.imagelayers.io/plugins/drone-ssh:latest.svg)](https://imagelayers.io/?images=plugins/drone-ssh:latest 'Get your own badge on imagelayers.io') -Drone plugin for executing commands on a remote host through SSH +Drone plugin to execute commands on a remote host through SSH -## Usage +## Binary + +Build the binary using `make`: ``` +make deps build +``` + +### Example + +```sh ./drone-ssh <