-
Notifications
You must be signed in to change notification settings - Fork 4
/
Jenkinsfile
72 lines (69 loc) · 2.28 KB
/
Jenkinsfile
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/usr/bin/env groovy
pipeline {
agent { label 'GEITENPETRA' }
options { disableConcurrentBuilds() }
stages {
stage('Build') {
steps {
withPythonEnv('System-CPython-3.10') {
withEnv(['PIP_INDEX_URL=https://pypi.uwkm.nl/voxyan/oscar/+simple/']) {
pysh "make install"
}
}
}
}
stage('Lint') {
steps {
withPythonEnv('System-CPython-3.10') {
pysh "make lint"
}
}
}
stage('Test') {
steps {
withPythonEnv('System-CPython-3.10') {
withEnv(['PIP_INDEX_URL=https://pypi.uwkm.nl/voxyan/oscar/+simple/']) {
pysh "make test"
}
}
}
post {
always {
junit allowEmptyResults: true, testResults: '**/nosetests.xml'
}
success {
step([
$class: 'CoberturaPublisher',
coberturaReportFile: '**/coverage.xml',
])
}
}
}
}
post {
always {
echo 'This will always run'
}
success {
echo 'This will run only if successful'
withPythonEnv('System-CPython-3.10') {
echo 'This will run only if successful'
pysh "version --plugin=wheel -B${env.BUILD_NUMBER} --skip-build"
sh "which git"
sh "git push --tags"
}
}
failure {
emailext subject: "JENKINS-NOTIFICATION: ${currentBuild.currentResult}: Job '${env.JOB_NAME} #${env.BUILD_NUMBER}'",
body: '${SCRIPT, template="groovy-text.template"}',
recipientProviders: [culprits(), brokenBuildSuspects(), brokenTestsSuspects()]
}
unstable {
echo 'This will run only if the run was marked as unstable'
}
changed {
echo 'This will run only if the state of the Pipeline has changed'
echo 'For example, if the Pipeline was previously failing but is now successful'
}
}
}