Jenkins CI Setup
This commit is contained in:
parent
4eeeef5353
commit
725dc359c7
53
.ci/Jenkinsfile
vendored
Normal file
53
.ci/Jenkinsfile
vendored
Normal file
@ -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}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
6
poetry.lock
generated
6
poetry.lock
generated
@ -118,7 +118,7 @@ python-versions = ">=3.6"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "charset-normalizer"
|
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."
|
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
|
||||||
category = "dev"
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
@ -1051,7 +1051,7 @@ python-versions = ">=3.5"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "urllib3"
|
name = "urllib3"
|
||||||
version = "1.26.11"
|
version = "1.26.12"
|
||||||
description = "HTTP library with thread-safe connection pooling, file post, and more."
|
description = "HTTP library with thread-safe connection pooling, file post, and more."
|
||||||
category = "dev"
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
@ -1059,7 +1059,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*,
|
|||||||
|
|
||||||
[package.extras]
|
[package.extras]
|
||||||
brotli = ["brotlicffi (>=0.8.0)", "brotli (>=1.0.9)", "brotlipy (>=0.6.0)"]
|
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)"]
|
socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "pytest-csv-params"
|
name = "pytest-csv-params"
|
||||||
version = "0.4.0"
|
version = "0.4.1"
|
||||||
description = "Pytest plugin for Test Case Parametrization with CSV files"
|
description = "Pytest plugin for Test Case Parametrization with CSV files"
|
||||||
authors = ["Juergen Edelbluth <csv_params@jued.de>"]
|
authors = ["Juergen Edelbluth <csv_params@jued.de>"]
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
@ -42,7 +42,7 @@ packages = [
|
|||||||
"pytest-csv-params" = "pytest_csv_params.plugin"
|
"pytest-csv-params" = "pytest_csv_params.plugin"
|
||||||
|
|
||||||
[tool.pytest.ini_options]
|
[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=[
|
filterwarnings=[
|
||||||
"ignore:.*BlackItem.*:_pytest.warning_types.PytestDeprecationWarning",
|
"ignore:.*BlackItem.*:_pytest.warning_types.PytestDeprecationWarning",
|
||||||
"ignore:.*BlackItem.*:_pytest.warning_types.PytestRemovedIn8Warning",
|
"ignore:.*BlackItem.*:_pytest.warning_types.PytestRemovedIn8Warning",
|
||||||
@ -108,6 +108,7 @@ legacy_tox_ini = """
|
|||||||
[tox]
|
[tox]
|
||||||
minversion = 3.25.0
|
minversion = 3.25.0
|
||||||
envlist = clean,py38,py39,py310
|
envlist = clean,py38,py39,py310
|
||||||
|
isolated_build = True
|
||||||
|
|
||||||
[testenv]
|
[testenv]
|
||||||
commands =
|
commands =
|
||||||
|
Loading…
Reference in New Issue
Block a user