Updating repo for Jenkins pipeline
This commit is contained in:
parent
b27db5fec3
commit
e08dcc04d5
|
@ -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()],
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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
|
Loading…
Reference in New Issue