PyBitmessage-2021-04-27/Jenkinsfile

146 lines
4.6 KiB
Plaintext
Raw Normal View History

2019-07-03 15:45:01 +02:00
pipeline {
2019-07-03 15:52:03 +02:00
agent any
2019-07-05 16:35:31 +02:00
options {
buildDiscarder(
// Only keep the 10 most recent builds
logRotator(numToKeepStr:'10'))
}
environment {
projectName = 'BitMessage'
emailTo = 'kuldeep.m@cisinlabs.com'
2019-07-06 14:41:35 +02:00
emailFrom = 'cis.dev393@gmail.com'
2019-07-05 16:35:31 +02:00
VIRTUAL_ENV = "${env.WORKSPACE}/venv"
}
2019-07-03 15:45:01 +02:00
stages {
2019-07-04 16:10:30 +02:00
2019-07-05 17:33:39 +02:00
/*
stage ('Checkout') {
steps {
checkout scm
}
}
*/
2019-07-04 16:10:30 +02:00
stage ('Install_Requirements') {
steps {
sh """
2019-07-05 12:32:05 +02:00
echo ${SHELL}
2019-07-04 16:10:30 +02:00
[ -d venv ] && rm -rf venv
#virtualenv --python=python2.7 venv
virtualenv venv
2019-07-06 14:57:36 +02:00
source venv/bin/activate
2019-07-04 16:10:30 +02:00
export PATH=${VIRTUAL_ENV}/bin:${PATH}
2019-07-04 17:53:25 +02:00
pip install --upgrade pip
2019-07-04 16:10:30 +02:00
pip install -r requirements.txt -r dev-requirements.txt
2019-07-05 10:04:45 +02:00
make clean
2019-07-04 16:10:30 +02:00
"""
}
}
2019-07-05 17:33:39 +02:00
2019-07-05 18:00:57 +02:00
// stage ('Check_style') {
// steps {
// sh """
// if [ ! -d venv ] ; then
2019-07-04 16:10:30 +02:00
2019-07-05 18:00:57 +02:00
// virtualenv --python=python2.7 venv
// fi
// source venv/bin/activate
// export PYTHONPATH="$PWD:$PYTHONPATH"
2019-07-04 16:10:30 +02:00
2019-07-05 18:00:57 +02:00
// pip install pylint
2019-07-05 15:56:52 +02:00
2019-07-05 18:00:57 +02:00
// cd repo
// ### Need this because some strange control sequences when using default TERM=xterm
// export TERM="linux"
// ## || exit 0 because pylint only exits with 0 if everything is correct
// pylint --rcfile=pylint.cfg $(find . -maxdepth 1 -name "*.py" -print) MYMODULE/ > pylint.log || exit 0
// """
// step([$class: 'WarningsPublisher',
// parserConfigurations: [
// [
// parserName: 'pylint',
// pattern: 'report/pylint.log'
// ]],
// unstableTotalAll: '0',
// usePreviousBuildAsReference: true
// ])
// }
// }
2019-07-05 15:56:52 +02:00
2019-07-05 18:00:57 +02:00
stage('Test environment') {
2019-07-04 16:10:30 +02:00
steps {
2019-07-05 18:00:57 +02:00
sh '''
echo ${SHELL}
[ -d venv ] && rm -rf venv
#virtualenv --python=python2.7 venv
virtualenv venv
2019-07-06 14:57:36 +02:00
source venv/bin/activate
2019-07-05 18:00:57 +02:00
export PATH=${VIRTUAL_ENV}/bin:${PATH}
python setup.py install
sudo /home/cis/.local/bin/nosetests --with-xunit tests
'''
2019-07-05 17:44:04 +02:00
}
2019-07-05 18:00:57 +02:00
}
2019-07-05 17:44:04 +02:00
2019-07-06 14:57:36 +02:00
// stage('Pylint Checker') {
// steps {
// sh '''
// echo ${SHELL}
// [ -d venv ] && rm -rf venv
// #virtualenv --python=python2.7 venv
// virtualenv venv
// source venv/bin/activate
// export PATH=${VIRTUAL_ENV}/bin:${PATH}
2019-07-06 14:41:35 +02:00
2019-07-06 14:57:36 +02:00
// pip install pylint
2019-07-06 14:41:35 +02:00
2019-07-06 14:57:36 +02:00
// echo ${pwd}
// ### Need this because some strange control sequences when using default TERM=xterm
// export TERM="linux"
2019-07-06 14:41:35 +02:00
2019-07-06 14:57:36 +02:00
// ## || exit 0 because pylint only exits with 0 if everything is correct
// pylint --rcfile=pylint.cfg $(find . -maxdepth 1 -name "*.py" -print) Pybitmessage/ > pylint.log || exit 0
// '''
// }
// }
2019-07-06 14:41:35 +02:00
2019-07-05 18:00:57 +02:00
stage('Test Run') {
steps {
sh '''python src/bitmessagemain.py -t'''
2019-07-05 17:33:39 +02:00
}
}
stage ('Cleanup') {
steps {
sh 'rm -rf venv'
2019-07-03 15:45:01 +02:00
}
}
}
2019-07-05 15:56:52 +02:00
2019-07-05 18:00:57 +02:00
2019-07-05 16:54:52 +02:00
post {
failure {
2019-07-05 17:33:39 +02:00
mail body: "${env.JOB_NAME} (${env.BUILD_NUMBER}) ${env.projectName} build error " +
"is here: ${env.BUILD_URL}\nStarted by ${env.BUILD_CAUSE}" ,
from: env.emailFrom,
//replyTo: env.emailFrom,
subject: "${env.projectName} ${env.JOB_NAME} (${env.BUILD_NUMBER}) build failed",
to: env.emailTo
}
success {
mail body: "${env.JOB_NAME} (${env.BUILD_NUMBER}) ${env.projectName} build successful\n" +
"Started by ${env.BUILD_CAUSE}",
from: env.emailFrom,
//replyTo: env.emailFrom,
subject: "${env.projectName} ${env.JOB_NAME} (${env.BUILD_NUMBER}) build successful",
to: env.emailTo
2019-07-05 16:54:52 +02:00
}
2019-07-05 16:51:38 +02:00
}
2019-07-05 18:00:57 +02:00
}