1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-06-30 01:52:26 +08:00

ci: Add more timeouts to the pipeline

License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
This commit is contained in:
Łukasz Magiera
2018-04-21 18:08:05 +02:00
parent 8b383da27a
commit 48e2aa3252

27
ci/Jenkinsfile vendored
View File

@ -2,6 +2,13 @@ import groovy.transform.Field
/* SETTINGS */
// in minutes
def global_timeout = 30
def sharness_timeout = 15
def gotest_timeout = 10
def build_timeout = 20
def check_timeout = 4
def test = 'go test -v ./...'
def fast_build_platforms = [
@ -64,32 +71,41 @@ def gobuild_step(list) {
/* PIPELINE */
ansiColor('xterm') { withEnv(['TERM=xterm-color']) { timeout(time: 30, unit: 'MINUTES') {
ansiColor('xterm') { withEnv(['TERM=xterm-color']) { timeout(time: global_timeout, unit: 'MINUTES') {
stage('Checks') {
parallel(
'go fmt': {
setupStep('linux') { run ->
timeout(time: check_timeout, unit: 'MINUTES') {
run 'make test_go_fmt'
}
}
},
'go vet': {
setupStep('linux') { run ->
timeout(time: check_timeout, unit: 'MINUTES') {
run 'go vet ./...'
}
}
},
'go build': {
timeout(time: check_timeout, unit: 'MINUTES') {
gobuild_step(fast_build_platforms)
}
}
)
}
stage('Tests') {
parallel(
'go build (other platforms)': {
timeout(time: build_timeout, unit: 'MINUTES') {
gobuild_step(build_platforms)
}
},
windows: {
setupStep('windows') { run ->
timeout(time: gotest_timeout, unit: 'MINUTES') {
run 'go get -v github.com/jstemmer/go-junit-report github.com/whyrusleeping/gx github.com/whyrusleeping/gx-go'
run "gx install --global"
@ -103,9 +119,11 @@ ansiColor('xterm') { withEnv(['TERM=xterm-color']) { timeout(time: 30, unit: 'MI
/* junit allowEmptyResults: true, testResults: 'junit-report-*.xml' */
}
}
}
},
linux: {
setupStep('linux') { run ->
timeout(time: gotest_timeout, unit: 'MINUTES') {
run 'go get -v github.com/jstemmer/go-junit-report'
run "make gx-deps"
@ -118,9 +136,11 @@ ansiColor('xterm') { withEnv(['TERM=xterm-color']) { timeout(time: 30, unit: 'MI
junit allowEmptyResults: true, testResults: 'junit-report-*.xml'
}
}
}
},
linuxSharness: {
setupStep('linux') { run ->
timeout(time: sharness_timeout, unit: 'MINUTES') {
run 'go get -v github.com/jstemmer/go-junit-report'
run "make gx-deps"
@ -132,9 +152,11 @@ ansiColor('xterm') { withEnv(['TERM=xterm-color']) { timeout(time: 30, unit: 'MI
junit allowEmptyResults: true, testResults: 'test/sharness/test-results/sharness.xml'
}
}
}
},
macOS: {
setupStep('macos') { run ->
timeout(time: gotest_timeout, unit: 'MINUTES') {
run 'go get -v github.com/jstemmer/go-junit-report'
run "make gx-deps"
@ -148,9 +170,11 @@ ansiColor('xterm') { withEnv(['TERM=xterm-color']) { timeout(time: 30, unit: 'MI
/* junit 'junit-report-*.xml' */
}
}
}
},
macSharness: {
setupStep('macos') { run ->
timeout(time: sharness_timeout, unit: 'MINUTES') {
run 'go get -v github.com/jstemmer/go-junit-report'
run "make gx-deps"
@ -163,6 +187,7 @@ ansiColor('xterm') { withEnv(['TERM=xterm-color']) { timeout(time: 30, unit: 'MI
/* junit allowEmptyResults: true, testResults: 'test/sharness/test-results/sharness.xml' */
}
}
}
},
)
}