Updating repo for Jenkins pipeline

This commit is contained in:
Philippe Caseiro 2018-10-24 10:44:44 +02:00
parent b27db5fec3
commit e08dcc04d5
4 changed files with 111 additions and 0 deletions

59
Jenkinsfile vendored Normal file
View File

@ -0,0 +1,59 @@
pipeline {
agent {
docker { image 'golang:1.11' }
}
stages {
stage('Prepare environment') {
steps {
script {
sh 'make install-devtools'
sh 'make vendor'
}
}
}
stage('Run unit tests') {
steps {
script {
sh 'make test'
}
}
}
stage('Run lint') {
steps {
script {
try {
sh 'make LINT_ARGS="--new-from-rev=HEAD~" lint'
} catch(ex) {
currentBuild.result = "UNSTABLE"
}
}
}
}
}
post {
always {
script {
if (currentBuild.currentResult != 'SUCCESS') {
emailext (
subject: "${currentBuild.currentResult} - Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
body: """
Voir les étapes du job: ${env.BUILD_URL}flowGraphTable
Projet: ${env.GIT_URL}
Branche: ${env.GIT_BRANCH}
Commit: ${env.GIT_COMMIT}
""",
recipientProviders: [developers(), requestor()],
)
}
}
}
}
}

35
Makefile Normal file
View File

@ -0,0 +1,35 @@
LINT_ARGS ?= ./...
export GO111MODULE := on
test: tidy
GO111MODULE=off go clean -testcache
go test -mod=vendor -v ./...
lint:
@GO111MODULE=off golangci-lint run -e '.*/pkg/mod' -e ".*/go/src" --enable-all --disable lll $(LINT_ARGS)
tidy:
go mod tidy
vendor: tidy
go mod vendor
install-devtools: vendor
# Install modd
GO111MODULE=off go get -u github.com/cortesi/modd/cmd/modd
# Install golangci-lint
GO111MODULE=off go get -u github.com/golangci/golangci-lint/cmd/golangci-lint
clean:
rm -rf ./bin
go clean -i -x -r -modcache
doc:
@echo "Open your browser to http://localhost:6060/pkg/forge.cadoles.com/Pyxis/orion/ to see the documentation"
@godoc -http=:6060
watch:
modd
.PHONY: test clean generate vendor install-devtools lint watch tidy doc bin/server

1
go.mod Normal file
View File

@ -0,0 +1 @@
module forge.cadoles.com/Cadoles/owrt

16
modd.conf Normal file
View File

@ -0,0 +1,16 @@
**/*.go
!**/*_test.go
modd.conf
.env
Makefile {
prep: make test
}
**/*.go
modd.conf
Makefile {
prep: make lint LINT_ARGS=--fast
prep: make test
}