diff options
author | Jenkins <jenkins@review.openstack.org> | 2015-12-03 18:38:37 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2015-12-03 18:38:37 +0000 |
commit | 4b0f03017ae932f183abfed2dff7dcbbaa1ff691 (patch) | |
tree | 91bd0633f1fcc44fea2e52ee4bcf41642b1fabcd | |
parent | cb8484cf20705ded1f0ff3fe6fa7e451c3adf795 (diff) | |
parent | 2de4ba8a8129365991fcabcc16ca8e91b08ed8e1 (diff) | |
download | python-jenkins-job-builder-4b0f03017ae932f183abfed2dff7dcbbaa1ff691.tar.gz python-jenkins-job-builder-4b0f03017ae932f183abfed2dff7dcbbaa1ff691.tar.xz python-jenkins-job-builder-4b0f03017ae932f183abfed2dff7dcbbaa1ff691.zip |
Merge "Add support for "tox" builder"
-rw-r--r-- | jenkins_jobs/modules/builders.py | 26 | ||||
-rw-r--r-- | setup.cfg | 1 | ||||
-rw-r--r-- | tests/builders/fixtures/tox001.xml | 9 | ||||
-rw-r--r-- | tests/builders/fixtures/tox001.yaml | 3 | ||||
-rw-r--r-- | tests/builders/fixtures/tox002.xml | 10 | ||||
-rw-r--r-- | tests/builders/fixtures/tox002.yaml | 5 |
6 files changed, 54 insertions, 0 deletions
diff --git a/jenkins_jobs/modules/builders.py b/jenkins_jobs/modules/builders.py index 5c081ddd..e6f10782 100644 --- a/jenkins_jobs/modules/builders.py +++ b/jenkins_jobs/modules/builders.py @@ -1964,6 +1964,32 @@ def shining_panda(parser, xml_parent, data): XML.SubElement(t, 'ignoreExitCode').text = str(ignore_exit_code).lower() +def tox(parser, xml_parent, data): + """yaml: tox + Use tox to build a multi-configuration project. Requires the Jenkins + :jenkins-wiki:`ShiningPanda plugin <ShiningPanda+Plugin>`. + + :arg str ini: The TOX configuration file path (default: tox.ini) + :arg bool recreate: If true, create a new environment each time (default: + false) + :arg str toxenv-pattern: The pattern used to build the TOXENV environment + variable. (optional) + + Example: + + .. literalinclude:: /../../tests/builders/fixtures/tox001.yaml + :language: yaml + """ + pluginelement = 'jenkins.plugins.shiningpanda.builders.ToxBuilder' + t = XML.SubElement(xml_parent, pluginelement) + XML.SubElement(t, 'toxIni').text = data.get('ini', 'tox.ini') + XML.SubElement(t, 'recreate').text = str( + data.get('recreate', False)).lower() + pattern = data.get('toxenv-pattern') + if pattern: + XML.SubElement(t, 'toxenvPattern').text = pattern + + def managed_script(parser, xml_parent, data): """yaml: managed-script This step allows to reference and execute a centrally managed @@ -87,6 +87,7 @@ jenkins_jobs.builders = sonatype-clm=jenkins_jobs.modules.builders:sonatype_clm ssh-builder=jenkins_jobs.modules.builders:ssh_builder system-groovy=jenkins_jobs.modules.builders:system_groovy + tox=jenkins_jobs.modules.builders:tox trigger-builds=jenkins_jobs.modules.builders:trigger_builds trigger-remote=jenkins_jobs.modules.builders:trigger_remote jenkins_jobs.reporters = diff --git a/tests/builders/fixtures/tox001.xml b/tests/builders/fixtures/tox001.xml new file mode 100644 index 00000000..1456396a --- /dev/null +++ b/tests/builders/fixtures/tox001.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <builders> + <jenkins.plugins.shiningpanda.builders.ToxBuilder> + <toxIni>tox.ini</toxIni> + <recreate>true</recreate> + </jenkins.plugins.shiningpanda.builders.ToxBuilder> + </builders> +</project> diff --git a/tests/builders/fixtures/tox001.yaml b/tests/builders/fixtures/tox001.yaml new file mode 100644 index 00000000..4dfead28 --- /dev/null +++ b/tests/builders/fixtures/tox001.yaml @@ -0,0 +1,3 @@ +builders: + - tox: + recreate: True diff --git a/tests/builders/fixtures/tox002.xml b/tests/builders/fixtures/tox002.xml new file mode 100644 index 00000000..26cb9291 --- /dev/null +++ b/tests/builders/fixtures/tox002.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <builders> + <jenkins.plugins.shiningpanda.builders.ToxBuilder> + <toxIni>foo.conf</toxIni> + <recreate>false</recreate> + <toxenvPattern>TOX_ENV</toxenvPattern> + </jenkins.plugins.shiningpanda.builders.ToxBuilder> + </builders> +</project> diff --git a/tests/builders/fixtures/tox002.yaml b/tests/builders/fixtures/tox002.yaml new file mode 100644 index 00000000..8376f440 --- /dev/null +++ b/tests/builders/fixtures/tox002.yaml @@ -0,0 +1,5 @@ +builders: + - tox: + ini: "foo.conf" + toxenv-pattern: TOX_ENV + |