diff --git a/.ci/Jenkinsfile b/.ci/Jenkinsfile new file mode 100644 index 0000000..dd6b180 --- /dev/null +++ b/.ci/Jenkinsfile @@ -0,0 +1,53 @@ +pipeline { + + environment { + TOX_PARALLEL_NO_SPINNER = "1" + PY_COLORS = "0" + } + + agent any + + stages { + stage('Prepare') { + steps { + sh 'poetry install' + } + } + stage('Tox') { + matrix { + axes { + axis { + name 'PYTHON_VERSION' + values 'py38', 'py39', 'py310' + } + } + stages { + stage('Tox Test') { + options { + lock('single-tox-build') + } + steps { + sh 'poetry run tox -r -e ${PYTHON_VERSION}' + xunit checksName: '', tools: [JUnit(excludesPattern: '', pattern: 'test-reports/*.xml', stopProcessingIfError: true)] + cobertura autoUpdateStability: false, coberturaReportFile: 'coverage.xml', conditionalCoverageTargets: '70, 0, 0', failUnhealthy: false, failUnstable: false, lineCoverageTargets: '80, 0, 0', maxNumberOfBuilds: 0, methodCoverageTargets: '80, 0, 0', onlyStable: false + } + } + } + } + } + } + + post { + success { + cleanWs() + } + always { + withCredentials([string(credentialsId: 'jed-notification-email', variable: 'EMAIL')]) { + mail to: "${EMAIL}", + subject: "[pytest-csv-params] ${currentBuild.currentResult}: ${currentBuild.fullDisplayName}", + body: "Jenkins URL: ${env.BUILD_URL}" + } + } + } + +} \ No newline at end of file diff --git a/poetry.lock b/poetry.lock index 2ac8f04..cbf9ed0 100644 --- a/poetry.lock +++ b/poetry.lock @@ -118,7 +118,7 @@ python-versions = ">=3.6" [[package]] name = "charset-normalizer" -version = "2.1.0" +version = "2.1.1" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." category = "dev" optional = false @@ -1051,7 +1051,7 @@ python-versions = ">=3.5" [[package]] name = "urllib3" -version = "1.26.11" +version = "1.26.12" description = "HTTP library with thread-safe connection pooling, file post, and more." category = "dev" optional = false @@ -1059,7 +1059,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, [package.extras] brotli = ["brotlicffi (>=0.8.0)", "brotli (>=1.0.9)", "brotlipy (>=0.6.0)"] -secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] +secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "urllib3-secure-extra", "ipaddress"] socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] diff --git a/pyproject.toml b/pyproject.toml index 7491f25..3030609 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "pytest-csv-params" -version = "0.4.0" +version = "0.4.1" description = "Pytest plugin for Test Case Parametrization with CSV files" authors = ["Juergen Edelbluth "] license = "MIT" @@ -42,7 +42,7 @@ packages = [ "pytest-csv-params" = "pytest_csv_params.plugin" [tool.pytest.ini_options] -addopts = "--mypy --black --isort --pylint --pylint-rcfile=.pylintrc --cov --cov-report=term-missing --junitxml=test-reports/pytest_csv_params.xml" +addopts = "--mypy --black --isort --pylint --pylint-rcfile=.pylintrc --cov --cov-report=term-missing --cov-report=xml --junitxml=test-reports/pytest_csv_params.xml" filterwarnings=[ "ignore:.*BlackItem.*:_pytest.warning_types.PytestDeprecationWarning", "ignore:.*BlackItem.*:_pytest.warning_types.PytestRemovedIn8Warning", @@ -108,6 +108,7 @@ legacy_tox_ini = """ [tox] minversion = 3.25.0 envlist = clean,py38,py39,py310 +isolated_build = True [testenv] commands =