Skip to content

Commit

Permalink
adds notifications
Browse files Browse the repository at this point in the history
Signed-off-by: Andrey Kononykhin <andkononykhin@gmail.com>
  • Loading branch information
andkononykhin committed Jun 27, 2019
1 parent cbf14bb commit 1ce1edf
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 34 deletions.
86 changes: 55 additions & 31 deletions Jenkinsfile.nightly
Original file line number Diff line number Diff line change
Expand Up @@ -6,41 +6,65 @@ String pkgName = 'indy-node'
String mainModuleName = 'indy_node'

def localLib
String pkgVersion
String srcSha1

nodeWrapper('ubuntu') {
stage('Load latest dev release info') {
docker.image('hyperledger/indy-core-baseci:0.0.1').inside('-u 0') {
sh "apt-get update && apt-get install -y $pkgName"
releaseVersion = getReleaseVersion(mainModuleName, false)
pkgVersion = "${releaseVersion.release}~${releaseVersion.pre}${releaseVersion.revision}"
srcSha1 = sh(returnStdout: true, script: """
python3 -c "from $mainModuleName import load_manifest; print(load_manifest()['sha1'])"
""").trim()
def err
String buildPkgVersion
String buildSrcVersion

String scmRepoUrl
String scmSha1

try {
nodeWrapper('ubuntu') {
stage('Resolve version to build') {
docker.image('hyperledger/indy-core-baseci:0.0.1').inside('-u 0') {
sh "apt-get update && apt-get install -y $pkgName"
releaseVersion = getReleaseVersion(mainModuleName, false)
buildPkgVersion = "${releaseVersion.release}~${releaseVersion.pre}${releaseVersion.revision}"
buildSrcVersion = sh(returnStdout: true, script: """
python3 -c "from $mainModuleName import load_manifest; print(load_manifest()['sha1'])"
""").trim()
}
echo "Version to build: buildSrcVersion=$buildSrcVersion, buildPkgVersion=$buildPkgVersion"
}
echo "Nightly settings: pkgVersion=$pkgVersion, scrSha1=$srcSha1"
}

stage('Checkout SCM') {
checkout scm
stage('Load local shared library') {
checkout scm
localLib = load 'ci/pipeline.groovy'

scmRepoUrl = gitHelper.repoUrl()
scmSha1 = gitHelper.sha1()
}
}

stage('Load local shared library') {
localLib = load 'ci/pipeline.groovy'
localLib.systemTests {
repoChannel = 'master'
pkgVersion = buildPkgVersion
srcVersion = buildSrcVersion
testSchema = [
['test_ledger.py'],
['test_vc.py'],
['test_consensus.py', 'TestTAASuite.py'],
['test_upgrade.py', 'test_roles.py', 'test_freshness.py', 'TestMultiSigSuite.py']
]
testVersion = 'v0.7.0'
testVersionByTag = true
}
} catch(Exception _err) {
currentBuild.result = "FAILED"
err = _err
throw _err
} finally {
stage('Build result notification') {
sendNotification.email {
to = this.env.INDY_NODE_RECIPIENTS ?: ''
subject = "[${pkgName}][nightly] Build #${this.env.BUILD_NUMBER} ${err ? 'failed' : 'succeed'} for version ${buildPkgVersion} (${buildSrcVersion})"
srcUrl = "${scmRepoUrl}/tree/${scmSha1}"
}
}
}

localLib.systemTests {
repoChannel = 'master'
delegate.pkgVersion = pkgVersion
delegate.srcSha1 = srcSha1
testSchema = [
['test_ledger.py'],
['test_vc.py'],
['test_consensus.py', 'TestTAASuite.py'],
['test_upgrade.py', 'test_roles.py', 'test_freshness.py', 'TestMultiSigSuite.py']
]
testVersion = 'v0.7.0'
testVersionByTag = true
if (err) {
stage('Error dump') {
echo "Pipeline failed: $err"
}
}
}
6 changes: 3 additions & 3 deletions ci/pipeline.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ def systemTests(Closure body) {
repoChannel: 'master',
pkgVersion: null,
indyNodeRepoUrl: 'https://github.com/hyperledger/indy-node.git',
srcSha1: null,
srcVersion: null,
testSchema: [['.']],
testVersion: null,
testVersionByTag: false
Expand Down Expand Up @@ -129,10 +129,10 @@ def systemTests(Closure body) {

nodeWrapper("ubuntu") {
stage("Checkout SCM") {
if (config.srcSha1) {
if (config.srcVersion) {
checkout([
$class: 'GitSCM',
branches: [[name: config.srcSha1]],
branches: [[name: config.srcVersion]],
userRemoteConfigs: [[
url: config.indyNodeRepoUrl,
]]
Expand Down

0 comments on commit 1ce1edf

Please sign in to comment.