misc: improve jenkins log with parallel tox (#72643)
This commit is contained in:
parent
a917ec7fec
commit
1dc65bde3e
|
@ -9,23 +9,18 @@ pipeline {
|
|||
stages {
|
||||
stage('Unit Tests') {
|
||||
steps {
|
||||
sh 'tox -rv -p 8'
|
||||
sh """
|
||||
python3 -m venv ./venv/
|
||||
./venv/bin/pip install "tox"
|
||||
./venv/bin/tox run-parallel --workdir ./tox-workdir --recreate --parallel 8 --parallel-no-spinner
|
||||
./venv/bin/tox run -e coverage-report"""
|
||||
}
|
||||
post {
|
||||
always {
|
||||
script {
|
||||
utils = new Utils()
|
||||
utils.publish_coverage('coverage-*.xml')
|
||||
utils.publish_coverage_native(
|
||||
'index.html', 'htmlcov-py3-django22-drf312-coverage-authentic', 'Coverage authentic tests')
|
||||
utils.publish_coverage_native(
|
||||
'index.html', 'htmlcov-py3-django22-drf312-coverage-hobo', 'Coverage hobo tests')
|
||||
utils.publish_coverage_native(
|
||||
'index.html', 'htmlcov-py3-django22-drf312-coverage-multipublik', 'Coverage multipublik tests')
|
||||
utils.publish_coverage_native(
|
||||
'index.html', 'htmlcov-py3-django22-drf312-coverage-multitenant', 'Coverage multitenant tests')
|
||||
utils.publish_coverage_native(
|
||||
'index.html', 'htmlcov-py3-django22-drf312-coverage-passerelle', 'Coverage passerelle tests')
|
||||
utils.publish_coverage('coverage.xml')
|
||||
utils.publish_coverage_native('index.html', 'htmlcov', 'Coverage')
|
||||
utils.publish_pylint('pylint.out')
|
||||
}
|
||||
mergeJunitResults()
|
||||
|
|
54
tox.ini
54
tox.ini
|
@ -3,21 +3,25 @@
|
|||
# test suite on all supported python versions. To use it, "pip install tox"
|
||||
# and then run "tox" from this directory.
|
||||
[tox]
|
||||
min_version = 4
|
||||
toxworkdir = {env:TMPDIR:/tmp}/tox-{env:USER}/hobo/{env:BRANCH_NAME:}
|
||||
envlist =
|
||||
py3-django22-drf39-{hobo,authentic,multipublik,multitenant,schemas,passerelle}
|
||||
py3-django22-drf312-coverage-{hobo,authentic,multipublik,multitenant,schemas,passerelle}
|
||||
py3-black
|
||||
py3-django22-{drf39,drf312}-{hobo,authentic,multipublik,multitenant,schemas,passerelle}
|
||||
code-style
|
||||
|
||||
[testenv]
|
||||
usedevelop = True
|
||||
parallel_show_output = True
|
||||
setenv =
|
||||
# necessary to separate coverage binary output between parallel environments
|
||||
COVERAGE_FILE=.coverage.{envname}
|
||||
DISABLE_GLOBAL_HANDLERS=1
|
||||
BRANCH_NAME={env:BRANCH_NAME:}
|
||||
COVERAGE_FILE={envdir}/coverage
|
||||
DB_ENGINE=django.db.backends.postgresql_psycopg2
|
||||
SETUPTOOLS_USE_DISTUTILS=stdlib
|
||||
JUNIT=--junitxml=junit-{envname}.xml
|
||||
JUNIT=--junitxml=junit-{envname}.xml
|
||||
COVERAGE=--cov=hobo/ --cov-config .coveragerc --cov-report= --cov-context=test --cov-branch
|
||||
|
||||
hobo: DJANGO_SETTINGS_MODULE=hobo.settings
|
||||
hobo: HOBO_SETTINGS_FILE=tests/settings.py
|
||||
schemas: DJANGO_SETTINGS_MODULE=hobo.settings
|
||||
|
@ -32,8 +36,13 @@ setenv =
|
|||
passerelle: DEBIAN_CONFIG_COMMON=debian/debian_config_common.py
|
||||
passerelle: PASSERELLE_SETTINGS_FILE=tests_passerelle/settings.py
|
||||
passerelle: DJANGO_SETTINGS_MODULE=passerelle.settings
|
||||
coverage: COVERAGE=--cov-report xml:coverage-{envname}.xml --cov-report html:htmlcov-{envname} --cov=hobo/ --cov-config .coveragerc
|
||||
fast: NOMIGRATIONS=--nomigrations
|
||||
# test directories
|
||||
hobo: TEST_DIRECTORY=tests/
|
||||
schemas: TEST_DIRECTORY=tests_schemas/
|
||||
multitenant: TEST_DIRECTORY=tests_multitenant/
|
||||
multipublik: TEST_DIRECTORY=tests_multipublik/
|
||||
authentic: TEST_DIRECTORY=tests_authentic/
|
||||
passerelle: TEST_DIRECTORY=tests_passerelle/
|
||||
deps:
|
||||
drf39: djangorestframework>=3.9.2,<3.10
|
||||
drf312: djangorestframework>=3.12,<3.13
|
||||
|
@ -69,21 +78,36 @@ deps:
|
|||
Pillow
|
||||
black: pre-commit
|
||||
git+https://git.entrouvert.org/publik-django-templatetags.git
|
||||
allowlist_externals =
|
||||
./getlasso3.sh
|
||||
commands =
|
||||
./getlasso3.sh
|
||||
hobo: py.test {env:JUNIT:} {env:COVERAGE:} {env:NOMIGRATIONS:} {posargs:tests/}
|
||||
schemas: py.test {env:JUNIT:} {env:COVERAGE:} {env:NOMIGRATIONS:} {posargs:tests_schemas/}
|
||||
multitenant: py.test {env:JUNIT:} {env:COVERAGE:} {env:NOMIGRATIONS:} {posargs:tests_multitenant/}
|
||||
multipublik: py.test {env:JUNIT:} {env:COVERAGE:} {env:NOMIGRATIONS:} {posargs:tests_multipublik/}
|
||||
authentic: py.test {env:JUNIT:} {env:FAST:} {env:COVERAGE:} {env:NOMIGRATIONS:} {posargs:tests_authentic/}
|
||||
passerelle: py.test {env:JUNIT:} {env:COVERAGE:} {env:NOMIGRATIONS:} {posargs:tests_passerelle/}
|
||||
black: pre-commit run black --all-files --show-diff-on-failure
|
||||
py.test {posargs:{tty::{env:JUNIT:}} {tty::{env:COVERAGE:}} {env:TEST_DIRECTORY:}}
|
||||
|
||||
[testenv:code-style]
|
||||
basepython = python3
|
||||
skip_install = true
|
||||
deps =
|
||||
pre-commit
|
||||
commands =
|
||||
pre-commit run --all-files --show-diff-on-failure
|
||||
|
||||
[testenv:update-locales]
|
||||
setenv =
|
||||
DJANGO_SETTINGS_MODULE=hobo.settings
|
||||
deps =
|
||||
allowlist_externals =
|
||||
./getlasso3.sh
|
||||
commands =
|
||||
./getlasso3.sh
|
||||
./manage.py makemessages --add-location=file
|
||||
./manage.py compilemessages
|
||||
|
||||
[testenv:coverage-report]
|
||||
setenv =
|
||||
deps =
|
||||
coverage
|
||||
commands =
|
||||
python3 -m coverage erase --data-file=.coverage
|
||||
python3 -m coverage combine
|
||||
python3 -m coverage html -d htmlcov --show-contexts
|
||||
python3 -m coverage xml
|
||||
|
|
Loading…
Reference in New Issue