forked from cmu-db/noisepage
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Jenkinsfile-nightly
40 lines (39 loc) · 1.81 KB
/
Jenkinsfile-nightly
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// Common build functions will be loaded into the "utils" object in every stage.
// This has to be done in every stage to support the Jenkins "restart from stage" feature.
def utils
String utilsFileName = 'Jenkinsfile-utils.groovy'
pipeline {
agent none
environment { PSS_CREATOR = credentials('pss-creator') /* Performance Storage Service (Django) auth credentials. Can only be changed from Jenkins webpage. */ }
options {
buildDiscarder(logRotator(daysToKeepStr: '30'))
parallelsAlwaysFailFast()
}
triggers { cron('H H(2-3) * * *') }
stages {
stage('Artifact Stats') {
agent { docker { image 'noisepage:focal' } }
steps { script { utils = utils ?: load(utilsFileName) ; utils.stageNightlyArtifact() } }
post {
unsuccessful { slackSend(color: "danger", message: "Nightly artifact stats failed!", channel: "#general") }
cleanup { deleteDir() }
}
}
stage('Performance') {
agent { label 'benchmark' }
steps { script { utils = utils ?: load(utilsFileName) ; utils.stageNightlyPerformance() } }
post {
unsuccessful { slackSend(color: "danger", message: "Nightly performance failed!", channel: "#general") }
cleanup { deleteDir() }
}
}
stage('Microbenchmark') {
agent { label 'benchmark' }
steps { script { utils = utils ?: load(utilsFileName) ; utils.stageNightlyMicrobenchmark() } }
post {
unsuccessful { slackSend(color: "danger", message: "Nightly microbenchmark failed!", channel: "#general") }
cleanup { deleteDir() }
}
}
}
}