From 4801411b1ddcf6fe772d2308c8c16d5d2ac78a80 Mon Sep 17 00:00:00 2001 From: Deepak Date: Tue, 29 Dec 2020 09:42:33 -0600 Subject: [PATCH] Adds do.sh build script --- Jenkinsfile | 8 ++++---- do.sh | 41 +++++++++++++++++++++++++++++++++++++++++ main.go | 5 ----- main_test.go | 9 --------- 4 files changed, 45 insertions(+), 18 deletions(-) create mode 100644 do.sh diff --git a/Jenkinsfile b/Jenkinsfile index 44c9e98..4edbd34 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -18,7 +18,7 @@ pipeline { } stage('Compile') { steps { - sh 'go build' + sh './do.sh build' } } stage('Test') { @@ -26,7 +26,7 @@ pipeline { stage('go vet') { steps { echo 'Running vetting' - sh 'go vet .' + sh './do.sh _vet' } } stage('test') { @@ -36,7 +36,7 @@ pipeline { steps { echo 'Running test' - sh 'go test -v -coverprofile=coverage.out -covermode count > tests.out ./...' + sh './do.sh _test' sh "go get github.com/tebeka/go2xunit" sh "go2xunit < tests.out -output tests.xml" @@ -54,7 +54,7 @@ pipeline { PATH="${env.PATH}:${env.GOPATH}/bin" } steps { - sh 'golint -set_exit_status ./...' + sh './do.sh _lint' } } } diff --git a/do.sh b/do.sh new file mode 100644 index 0000000..712f6ec --- /dev/null +++ b/do.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash +# Do - The Simplest Build Tool on Earth. +# Documentation and examples see https://github.com/8gears/do + +set -Eeuo pipefail # -e "Automatic exit from bash shell script on error" -u "Treat unset variables and parameters as errors" + +build() { + echo "I am ${FUNCNAME[0]}ing" + go version + go build +} + +test() { + echo "I am ${FUNCNAME[0]}ing" + _test + _lint + _vet +} + +_test() { + echo "I am ${FUNCNAME[0]}ing" + go test -v -coverprofile=coverage.out -covermode count ./... | tee tests.out +} + +_lint() { + echo "I am ${FUNCNAME[0]}ing" + golint -set_exit_status ./... +} + +_vet() { + echo "I am ${FUNCNAME[0]}ing" + go vet ./... +} + +all() { + test && build +} + +"$@" # <- execute the task + +[ "$#" -gt 0 ] || printf "Usage:\n\t./do.sh %s\n" "($(compgen -A function | grep '^[^_]' | paste -sd '|' -))" diff --git a/main.go b/main.go index 9074523..babfaa5 100644 --- a/main.go +++ b/main.go @@ -45,8 +45,3 @@ func main() { } } - -// Hello is method here to be testable. -func Hello() string { - return "Hello, world!\n" -} diff --git a/main_test.go b/main_test.go index 4d194d9..06ab7d0 100644 --- a/main_test.go +++ b/main_test.go @@ -1,10 +1 @@ package main - -import "testing" - -func TestHello(t *testing.T) { - want := "Hello, world!\n" - if got := Hello(); got != want { - t.Errorf("Hello() = %q, want %q", got, want) - } -}