forked from The-OpenROAD-Project/OpenROAD
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJenkinsfile.nightly
76 lines (76 loc) · 1.91 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
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
73
74
75
76
pipeline {
agent any;
options {
timeout(time: 8, unit: 'HOURS')
}
environment {
COMMIT_AUTHOR_EMAIL = sh (returnStdout: true, script: "git --no-pager show -s --format='%ae'").trim();
}
stages {
stage("Build") {
steps {
sh "./etc/Build.sh";
stash name: "build", includes: "build/**";
}
}
stage("Nightly Tests") {
parallel {
stage("Detailed Router ISPD") {
agent any;
stages {
stage("Clean-up ISPD") {
steps {
sh "rm -rf /home/jenkins/ispd/runs/*";
}
}
stage("Test ISPD") {
steps {
unstash 'build';
sh "./src/drt/test/run-ispd.tcl";
}
}
}
post {
always {
sh "mv /home/jenkins/ispd/runs/*.tar.gz .";
sh "mv /home/jenkins/ispd/runs/*log .";
archiveArtifacts "*.tar.gz, *log";
}
}
}
stage("Global Placer Large") {
agent any;
stages {
stage("Test Replace Large") {
steps {
unstash "build";
sh "./src/gpl/test/regression-large";
}
}
}
post {
always {
sh "find . -name results -type d -exec tar zcvf {}.tgz {} ';'";
archiveArtifacts artifacts: '**/results.tgz', allowEmptyArchive: true;
}
}
}
}
}
}
post {
failure {
script {
echo('Nightly build: report to stakeholders and commit author.');
EMAIL_TO="$COMMIT_AUTHOR_EMAIL, \$DEFAULT_RECIPIENTS";
REPLY_TO="$EMAIL_TO";
emailext (
to: "$EMAIL_TO",
replyTo: "$REPLY_TO",
subject: '$DEFAULT_SUBJECT',
body: '$DEFAULT_CONTENT',
);
}
}
}
}