-
Notifications
You must be signed in to change notification settings - Fork 6
/
Jenkinsfile
72 lines (65 loc) · 1.79 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
#!groovy
def buildableFile = 'buildable-eln-packages.txt'
def dataFile = 'to_rebuild.txt'
def untagFile = 'to_untag.txt'
def statusFile = 'status.txt'
def statusRenderedFile = 'status.html'
def successrateFile = 'successrate.html'
def composestatusFile = 'compose-status.html'
pipeline {
agent { label 'eln' }
options {
buildDiscarder(
logRotator(
numToKeepStr: '30',
artifactNumToKeepStr: '30'
)
)
disableConcurrentBuilds()
}
triggers {
cron('H * * * *')
}
parameters {
string(
name: 'LIMIT',
defaultValue: '5',
trim: true,
description: 'Number of builds to trigger. No for no builds.'
)
}
stages {
stage('New stats') {
steps {
cleanWs deleteDirs: false
checkout changelog: false, poll: false, scm: [
$class: 'GitSCM',
doGenerateSubmoduleConfigurations: false,
extensions: [
[
$class: 'RelativeTargetDirectory',
relativeTargetDir: 'eln'
]
],
userRemoteConfigs: [
[
url: 'https://github.com/fedora-eln/eln'
]
]
]
sh 'cd eln/ && ./compare/compare.py rawhide eln && cd .. && eln/scripts/eln-compose-status.py'
}
}
stage('Collect stats') {
steps {
git "https://github.com/fedora-ci/eln-periodic.git"
sh "$WORKSPACE/eln-check.py -o $dataFile -s $statusFile -u $untagFile -r $successrateFile"
}
}
}
post {
success {
archiveArtifacts artifacts: "$dataFile,$statusFile,$statusRenderedFile,$untagFile,$successrateFile,$buildableFile,$composestatusFile,eln/output/*"
}
}
}