-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathJenkinsfile
More file actions
59 lines (53 loc) · 1.51 KB
/
Jenkinsfile
File metadata and controls
59 lines (53 loc) · 1.51 KB
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
#!/usr/bin/env groovy
String daily_cron_string = BRANCH_NAME == "master" ? "@daily" : ""
pipeline {
agent {
kubernetes {
yamlFile 'kubepods.yaml'
defaultContainer 'python'
}
}
options {
timeout(time: 10, unit: 'MINUTES')
}
triggers { cron(daily_cron_string) }
stages {
stage('flake8') {
steps{
container('flake8') {
sh "flake8"
}
}
}
stage('pylint duplication') {
steps{
container('pylint') {
sh "pylint --disable=all --enable=duplicate-code homesensorhub"
}
}
}
stage('Testing') {
parallel {
stage('Local Test') {
environment {
PATH = "$HOME/.local/bin:$PATH"
}
steps {
ansiColor('xterm') {
sh "env"
sh "pip install -r requirements.txt"
sh "pip install -r tests/requirements.txt"
echo '... Testing ...'
sh "nose2 --with-coverage --junit-xml"
}
}
post {
always {
junit 'nose2-junit.xml'
}
}
}
}
}
}
}