From 2289be222250e9ac8763a61ec289c9f8dbc212a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=80ngel=20=C3=80lvarez?= Date: Sat, 11 Apr 2020 18:14:16 +0200 Subject: [PATCH] Modify tox and add Jenkisfile --- Jenkinsfile | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ tox.ini | 19 +++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 Jenkinsfile create mode 100644 tox.ini diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..2b03bfc --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,50 @@ +pipeline { + agent { + docker { + image 'python:3.7' + args '--user 0:0' + } + } + stages { + stage('setup') { + steps { + sh 'pip install tox coverage' + } + } + stage('test'){ + steps { + sh 'tox' + } + + } + stage("Extract test results") { + steps{ + cobertura autoUpdateHealth: false, autoUpdateStability: false, coberturaReportFile: 'coverage.xml', conditionalCoverageTargets: '70, 0, 0', enableNewApi: true, failUnhealthy: false, failUnstable: false, lineCoverageTargets: '80, 0, 0', maxNumberOfBuilds: 0, methodCoverageTargets: '80, 0, 0', onlyStable: false, sourceEncoding: 'ASCII', zoomCoverageChart: false + } + } + } + post { + changed { + emailext subject: '$DEFAULT_SUBJECT', + body: '$DEFAULT_CONTENT', + recipientProviders: [ + [$class: 'CulpritsRecipientProvider'], + [$class: 'DevelopersRecipientProvider'], + [$class: 'RequesterRecipientProvider'] + ], + replyTo: '$DEFAULT_REPLYTO', + to: '$DEFAULT_RECIPIENTS' + } + failure { + emailext subject: '$DEFAULT_SUBJECT', + body: '$DEFAULT_CONTENT', + recipientProviders: [ + [$class: 'CulpritsRecipientProvider'], + [$class: 'DevelopersRecipientProvider'], + [$class: 'RequesterRecipientProvider'] + ], + replyTo: '$DEFAULT_REPLYTO', + to: '$DEFAULT_RECIPIENTS' + } + } +} diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..9548776 --- /dev/null +++ b/tox.ini @@ -0,0 +1,19 @@ +[tox] +envlist = py37-sqlite, stats + +[testenv] +basepython=python3.7 +commands = coverage run setup.py test +deps = + sqlite: sqlitebck + coverage +setenv = + sqlite: TRYTOND_DATABASE_URI={env:SQLITE_URI:sqlite://} + sqlite: DB_NAME={env:SQLITE_NAME::memory:} +install_command = pip install --pre --find-links https://trydevpi.tryton.org/ {opts} {packages} + +[testenv:stats] +basepython=python3.7 +commands = + coverage report --omit=.tox/* + coverage xml