forked from CMakePP/CMaize
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJenkinsfile
More file actions
38 lines (32 loc) · 994 Bytes
/
Jenkinsfile
File metadata and controls
38 lines (32 loc) · 994 Bytes
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
def buildModuleMatrix = [
"CMake 3.12.2":("cmake gcc/7.1.0")
]
node{
def nwxJenkins
stage("Set-Up Workspace"){
deleteDir()
checkout scm
}
stage('Import Jenkins Commands'){
sh """
da_url=https://raw.githubusercontent.com/NWChemEx-Project/
da_url+=DeveloperTools/master/ci/Jenkins/nwxJenkins.groovy
wget \${da_url}
"""
nwxJenkins=load("nwxJenkins.groovy")
}
def buildTypeList=buildModuleMatrix.keySet() as String[]
for (int i=0; i<buildTypeList.size(); i++){
def buildType = "${buildTypeList[i]}"
stage("${buildType}: Export Module List"){
def buildModules = "${buildModuleMatrix[buildType]}"
nwxJenkins.exportModules(buildModules)
}
stage("${buildType}: Build Repo"){
nwxJenkins.compileRepo("gcc", "g++")
}
stage("${buildType}: Test Repo"){
nwxJenkins.testRepo()
}
}
}