Skip to content

Commit

Permalink
Merge "FAB-11259 Pipeline job configuration"
Browse files Browse the repository at this point in the history
  • Loading branch information
harrisob authored and Gerrit Code Review committed Aug 16, 2018
2 parents f45d87b + 040e42f commit 9c686e9
Show file tree
Hide file tree
Showing 5 changed files with 562 additions and 0 deletions.
136 changes: 136 additions & 0 deletions Jenkinsfile.x
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
// Copyright IBM Corp All Rights Reserved
//
// SPDX-License-Identifier: Apache-2.0
//
node ('hyp-x') { // trigger build on x86_64 node
try {
def ROOTDIR = pwd() // workspace dir (/w/workspace/<job_name>
env.PROJECT_DIR = "gopath/src/github.com/hyperledger"
env.GOPATH = "$WORKSPACE/gopath"
env.JAVA_HOME = "/usr/lib/jvm/java-1.8.0-openjdk-amd64"
env.PATH = "$GOPATH/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:~/npm/bin:/home/jenkins/.nvm/versions/node/v6.9.5/bin:/home/jenkins/.nvm/versions/node/v8.9.4/bin:$PATH"
env.GOROOT = "/opt/go/go1.10.linux.amd64"
env.PATH = "$GOROOT/bin:$PATH"
def failure_stage = "none"
// delete working directory
deleteDir()
stage("Fetch Patchset") { // fetch gerrit refspec on latest commit
try {
dir("${ROOTDIR}"){
sh '''
[ -e gopath/src/github.com/hyperledger/fabric-sdk-node ] || mkdir -p $PROJECT_DIR
cd $PROJECT_DIR
git clone git://cloud.hyperledger.org/mirror/fabric-sdk-node && cd fabric-sdk-node
git checkout "$GERRIT_BRANCH" && git fetch origin "$GERRIT_REFSPEC" && git checkout FETCH_HEAD
'''
}
}
catch (err) {
failure_stage = "Fetch patchset"
throw err
}
}
// clean environment and get env data
stage("Clean Environment - Get Env Info") {
try {
dir("${ROOTDIR}/$PROJECT_DIR/fabric-sdk-node/scripts/Jenkins_Scripts") {
sh './CI_Script.sh --clean_Environment --env_Info'
}
}
catch (err) {
failure_stage = "Clean Environment - Get Env Info"
throw err
}
}

// Pull Couchdb Image
stage("Pull Couchdb image") {
try {
dir("${ROOTDIR}/$PROJECT_DIR/fabric-sdk-node/scripts/Jenkins_Scripts") {
sh './CI_Script.sh --pull_Thirdparty_Images'
}
}
catch (err) {
failure_stage = "Pull couchdb docker image"
throw err
}
}

// Pull Fabric, Fabric-ca Images
stage("Pull Docker images") {
try {
dir("${ROOTDIR}/$PROJECT_DIR/fabric-sdk-node/scripts/Jenkins_Scripts") {
sh './CI_Script.sh --pull_Fabric_Images --pull_Fabric_CA_Image'
}
}
catch (err) {
failure_stage = "Pull fabric, fabric-ca docker images"
throw err
}
}

// Run gulp tests (headless and e2e tests)
stage("Run gulp_Tests") {
try {
dir("${ROOTDIR}/$PROJECT_DIR/fabric-sdk-node/scripts/Jenkins_Scripts") {
sh './CI_Script.sh --sdk_E2e_Tests'
}
}
catch (err) {
failure_stage = "sdk_E2e_Tests"
throw err
}
}

// Publish unstable npm modules from merged job
if (env.GERRIT_EVENT_TYPE == "change-merged") {
unstableNpm()
} else {
echo "------> Don't publish npm modules from verify job"
}

// Publish API Docs from merged job only
if (env.GERRIT_EVENT_TYPE == "change-merged") {
apiDocs()
} else {
echo "------> Don't publish API Docs from verify job"
}

} finally { // Code for coverage report
junit '**/cobertura-coverage.xml'
step([$class: 'CoberturaPublisher', autoUpdateHealth: false, autoUpdateStability: false, coberturaReportFile: '**/cobertura-coverage.xml', failUnhealthy: false, failUnstable: false, maxNumberOfBuilds: 0, onlyStable: false, sourceEncoding: 'ASCII', zoomCoverageChart: false])
archiveArtifacts artifacts: '**/*.log'
} // finally block end here
} // node block end here

def unstableNpm() {
def ROOTDIR = pwd()
// Publish unstable npm modules after successful merge
stage("Publish Unstable npm modules") {
try {
dir("${ROOTDIR}/$PROJECT_DIR/fabric-sdk-node/scripts/Jenkins_Scripts") {
sh './CI_Script.sh --publish_Unstable'
}
}
catch (err) {
failure_stage = "publish_Unstable"
throw err
}
}
}

def apiDocs() {
def ROOTDIR = pwd()
// Publish SDK_NODE API docs after successful merge
stage("Publish API Docs") {
try {
dir("${ROOTDIR}/$PROJECT_DIR/fabric-sdk-node/scripts/Jenkins_Scripts") {
sh './CI_Script.sh --publish_Api_Docs'
}
}
catch (err) {
failure_stage = "publish_Api_Docs"
throw err
}
}
}
88 changes: 88 additions & 0 deletions Jenkinsfile.z
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
// Copyright IBM Corp All Rights Reserved
//
// SPDX-License-Identifier: Apache-2.0
//
node('hyp-z') {
try {
def ROOTDIR = pwd() // workspace dir (/w/workspace/<job_name>
env.PROJECT_DIR = "gopath/src/github.com/hyperledger"
env.GOPATH = "$WORKSPACE/gopath"
env.PATH = "$GOPATH/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:~/npm/bin:/home/jenkins/.nvm/versions/node/v6.9.5/bin:/home/jenkins/.nvm/versions/node/v8.9.4/bin:$PATH"
env.GOROOT = "/opt/go/go1.10.linux.s390x"
env.PATH = "$GOROOT/bin:$PATH"
def failure_stage = "none"
// delete working directory
deleteDir()
stage("Fetch Patchset") { // fetch gerrit refspec on latest commit
try {
dir("${ROOTDIR}"){
sh '''
[ -e gopath/src/github.com/hyperledger/fabric-sdk-node ] || mkdir -p $PROJECT_DIR
cd $PROJECT_DIR
git clone git://cloud.hyperledger.org/mirror/fabric-sdk-node && cd fabric-sdk-node
git checkout "$GERRIT_BRANCH" && git fetch origin "$GERRIT_REFSPEC" && git checkout FETCH_HEAD
'''
}
}
catch (err) {
failure_stage = "Fetch patchset"
throw err
}
}
// clean environment and get env data
stage("Clean Environment - Get Env Info") {
try {
dir("${ROOTDIR}/$PROJECT_DIR/fabric-sdk-node/scripts/Jenkins_Scripts") {
sh './CI_Script.sh --clean_Environment --env_Info'
}
}
catch (err) {
failure_stage = "Clean Environment - Get Env Info"
throw err
}
}

// Pull Couchdb Image
stage("Pull Couchdb image") {
try {
dir("${ROOTDIR}/$PROJECT_DIR/fabric-sdk-node/scripts/Jenkins_Scripts") {
sh './CI_Script.sh --pull_Thirdparty_Images'
}
}
catch (err) {
failure_stage = "Pull couchdb docker image"
throw err
}
}

// Pull Fabric, Fabric-ca Images
stage("Pull Docker images") {
try {
dir("${ROOTDIR}/$PROJECT_DIR/fabric-sdk-node/scripts/Jenkins_Scripts") {
sh './CI_Script.sh --pull_Fabric_Images --pull_Fabric_CA_Image'
}
}
catch (err) {
failure_stage = "Pull fabric, fabric-ca docker images"
throw err
}
}

// Run gulp tests (headless and e2e tests)
stage("Run gulp_Tests") {
try {
dir("${ROOTDIR}/$PROJECT_DIR/fabric-sdk-node/scripts/Jenkins_Scripts") {
sh './CI_Script.sh --sdk_E2e_Tests'
}
}
catch (err) {
failure_stage = "sdk_E2e_Tests"
throw err
}
}
} finally { // Code for coverage report
junit '**/cobertura-coverage.xml'
step([$class: 'CoberturaPublisher', autoUpdateHealth: false, autoUpdateStability: false, coberturaReportFile: '**/cobertura-coverage.xml', failUnhealthy: false, failUnstable: false, maxNumberOfBuilds: 0, onlyStable: false, sourceEncoding: 'ASCII', zoomCoverageChart: false])
archiveArtifacts artifacts: '**/*.log'
} // finally block end here
} // node block end here
Loading

0 comments on commit 9c686e9

Please sign in to comment.