diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..d8c0496 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,39 @@ +@Library('eo-jenkins-lib@master') import eo.Utils + +pipeline { + agent any + stages { + stage('Unit Tests') { + steps { + sh 'tox -r' + } + post { + always { + junit '*_results.xml' + } + } + } + stage('Packaging') { + steps { + script { + if (env.JOB_NAME == 'mail2redmine' && env.GIT_BRANCH == 'origin/master') { + sh 'sudo -H -u eobuilder /usr/local/bin/eobuilder -d stretch mail2redmine' + } else if (env.GIT_BRANCH.startsWith('hotfix/')) { + sh "sudo -H -u eobuilder /usr/local/bin/eobuilder -d stretch --branch ${env.GIT_BRANCH} --hotfix mail2redmine" + } + } + } + } + } + post { + always { + script { + utils = new Utils() + utils.mail_notify(currentBuild, env, 'admin+jenkins-mail2redmine@entrouvert.com') + } + } + success { + cleanWs() + } + } +} diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..2a44100 --- /dev/null +++ b/tox.ini @@ -0,0 +1,13 @@ +[tox] +envlist = py2-junit +toxworkdir = {env:TMPDIR:/tmp}/tox-{env:USER}/mail2redmine/{env:BRANCH_NAME:} + +[testenv] +setenv = + junit: JUNIT=--junitxml=test_results.xml -v +deps = + pytest + mock + python-redmine +commands = + py.test {env:JUNIT:} {posargs:}