summaryrefslogtreecommitdiffstats
path: root/requirements.txt
Commit message (Collapse)AuthorAgeFilesLines
* Allow pyyaml >= 5Thomas Bechtold2019-04-081-1/+1
| | | | | | Current latest version is 5.1 so allow this version, too. Change-Id: Ic349545720bf9a3d973fe863c7068d1e590732c3
* Constrain PyYAML to v3.x.Vicky Chijwani2018-06-271-1/+1
| | | | | | | | | | PyYAML v4.1 was released which breaks the `!!python/tuple` syntax with the following error: yaml.constructor.ConstructorError: could not determine a constructor for the tag 'tag:yaml.org,2002:python/tuple' Change-Id: Iaf838b111e6dfad5dc5c1f904a482b525e99a911
* bump python-jenkins versionSorin Sbarnea2018-01-121-1/+1
| | | | | | | | | | | Bumps python-jenkins version to avoid few remarkable issues fixed in it: - allow to wait for jenkins to enter normal operation - remove cap on pbr version - more py3 enablement - other, see its changelog Change-Id: I508b412bc2d17561e7a7ceef015ea018615596ad
* Basic folder supportDarragh Bailey2017-10-231-1/+1
| | | | | | | | | | | | | | | | | Allows specifying a folder attribute for each job generated, which in turn is used when creating or uploading to place the job under the requested folder. The job name is expanded after defaults are applied, to support the attribute being defined within a set of defaults applied to a number of jobs. This in turn allows for multiple jobs with the same basename to exist, provided they are targeted at different folders. Does not support creating the folders if they do not exist. Change-Id: I8c2157c4c81087cc972a048d1b88d5f08ac65361
* Add !include-jinja2 for rendering templates with Jinja2Daniel Watkins2017-08-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This template included using !include-jinja2: """ {{ my_var }} """ is rendered the same as an existing template that looks like this: """ {my_var} """ This also allows the use of Jinja2's richer syntax: """ {% for test_environment in configuration.get("envs", ["py35"]) %} tox -e {{ test_environment }} {% endfor %} """ Story: 2001135 Change-Id: Ia3ee21822d6e9237f5ea46796bc8810ecac61e2c
* Allow using lockfile per jenkins masterDarragh Bailey2017-06-271-0/+1
| | | | | | | | | | | | | | | | | | When a jjb run is thrown when another jjb is already running, it can cause corruption of cache. Start using a fasteners to ensure this won't be happening and run securely on automated systems. Ensure unlock is called from only the destructor, so that it is only called when the JJB process is guaranteed to be finished using it. Make it obvious that _lock is intended to be internal to the cache storage implementation. Potentially we may not need to call it at all, as python might unlock it for us on exit by closing the file when no longer needed. However better to make it explicit. Change-Id: I53a1f92cf2bfbbe87c9ea205c377f93869353620
* Sync requirements with openstack/requirementsMonty Taylor2016-12-101-4/+7
| | | | | | | | | This is not necessary - jenkins-job-builder does not follow the requirements sync process. That said - these are likely all safe bets for being solid versions of these dependencies - and some of them were kinda stale. Change-Id: Id1941ff4c9736100f9bdd5508ec3c0377e51fdbe
* Not limit stevedore to 1.8.0liyuanzhen2016-08-191-1/+1
| | | | | | | | | If the stevedore is limited to 1.8.0 and the version of stevedore in host is higher than 1.8.0, it will raise an 'VersionConflict' error when executing 'jenkins-jobs update` command. Change-Id: I9e83fddd82049be0d21ec4106f7b846184f3af8d Closes-Bug: #1614435
* Introduce modular implementation of subcommands.Wayne2016-07-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This commit intentionally introduces a number of important API breakages. Specifically, the jenkins_jobs.cmd module has been pared down to some of its most difficult-to-refactor elements. * Create jenkins_jobs.cli.entry.JenkinsJobs class to organize command line parsing and execution. * Remove references to ConfigParser object in test code, hidden as an implementation detail of JenkinsJobs command line parsing. This will be necessary in the next stage of JJB 2.0 code which will be to create a JJBConfig object that handles logic and presentation of configuration from various sources--defaults, command line arguments, configuration file, and maybe environment variables in the future. * Remove references to Namespace object produced by argparse module. Required rewrite of multipath & recursive path tests with a new MatchesDir testtools Matcher class that validates the expected output for a run of JJB against a given set of yamldirs with the specified command line arguments. * Use stevedore to dynamically load subcommand parsers. * Move configuration loading/testing to its own test file. Also fix the global vs home directory JJB config file test. Change-Id: If62280418ba7319c313033ab387af4284237747e
* Remove ordereddict support from py26Thomas Bechtold2016-02-091-1/+0
| | | | | | | | | | python 2.6 is no longer supported and adding a marker to requirements.txt for installing ordereddict only in py2.6 envs was not an option because markers are not supported in older pip versions. So remove python 2.6 support completly. Change-Id: Iebdd999b469c9a9681b0d7e9f50cc488a8820953
* Add separate linkcheck env and allow dev to select builderDarragh Bailey2016-01-111-1/+1
| | | | | | | | | | | | | | | | | | | | Add separate linkcheck tox environment to be used in non-voting Jenkins job to watch for stale and broken links in the sphinx generated html documentation. Include a small addition to make it easier for contributors to select individual builders when executing the docs tox environment. Add minimum dependency of pbr 1.0.0, as that was the first version to allow passing of sphinx builders on the command line to override the internal defaults or those set in the configuration file. This will make it easier to spot problems with just the links, and also ensure that when the sphinx project releases with proper warniserror fix for the linkcheck builder, that html and man page documentation can continue to be built even if a previous valid link has become stale or is temporarily unreachable. Change-Id: I80446abe96824a444a04cc526df6cc38632a4607
* Merge "Improve delete all job performance"Jenkins2015-09-181-1/+1
|\
| * Improve delete all job performanceKhai Do2015-07-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | delete-all command was deleting one job at a time using the jenkins doDelete rest endpoint which is very slow. Change Ia4fbfca970165 allows us to execute a groovy script on the jenkins server to do the same thing. The only difference is that running the script on the server will delete all jobs much faster. As a data point: I added all (~5,000) openstack jobs to my jenkins server. The previous delete_all took many hours to delete all the jobs while the script method did it in a matter of seconds. Change-Id: Id7f7dfb567997e042fe0f783e54680482fefdc15 depends-on: Ia4fbfca970165d890d7e076f47ddcde7633afa9b
* | rm argparse from requirements.txtKen Dreyer2015-08-251-1/+0
|/ | | | | | argparse is built into Python 2.7. Remove it from requirements.txt. Change-Id: Ia55308e2f8d8a4cab67794816a3cd5d50acebc3f
* requirements: pin pbr>=0.8.2,<2.0Emilien Macchi2015-06-091-1/+1
| | | | | | | | | | This patch aims to pin pbr>=0.8.2,<2.0 instead of pbr>=0.8.2,<1.0. Some distros ship 1.0.1 so it conflicts with the version in requirements. Depends-on: I3620c5fe72e49e226f2f5d1e6c36179eb053f424 Change-Id: I9cd70d20f28a6da66795d3d85504bc6dab2dd9bd
* Depend on python-jenkins 0.4.1 or laterJeremy Stanley2015-02-061-1/+1
| | | | | | | | Change I1cae480a9a341ec2f6062904c962530dfce95057 introduced a dependency on the jenkins.Jenkins.get_plugins_info method, which was not added to python-jenkins until 0.4.1. Change-Id: Iedbe85d2dadfbb5a87a5f704649c7d30031a21a7
* Make JJB python 3 compatibleMarc Abramowitz2014-10-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert to use idioms that work for both python 3 and python 2.6+ and ensure that a suitable version of dependencies is included for python 3 compatibility. Update python-jenkins to 0.3.4 as the earliest version that supports python 3 without any known regressions. Add an extra parser check for missing 'command' due to changes in how argparse works under python 3. To access the first element of a dict in both python 2 and 3, 'next(iter(dict.items()))' is used as the standard idiom to replace 'dict.items()[0]' as 'items()' returns an iterator in python 3 which cannot be indexed. Using 'next(iter(..))' allows for both lists and iterators to be passed in without unnecessary conversion of iterators to lists which would be true of 'list(dict.items())[0]'. Original change which was reverted due to breaking use of job-groups is If4b35e2ceee8239379700e22eb79a3eaa04d6f0f. This replaces the previous conversion of 'dict.items()[0]' to 'dict.popitem()', which would result in removing a job-group when first called, thus defeating the benefit of being able to reference the group mulitple times. This usage has been replaced with 'next(iter(dict.items()))' as a non-modifying alternative that still avoids creating unnecessary copies of data while working for all supported versions of python. Change-Id: I37e3b67c043dadddb54e16ee584bde3f79e6a770
* Move ordereddict to requirementsDarragh Bailey2014-09-041-0/+1
| | | | | | | Need ordereddict in the requirements as it is used at run time by the yaml parsing code not just a test time. Change-Id: Ic41e7adb5a06ed319f6201a13b9f7391fc245853
* Revert "Some tweaks to get closer to Python 3 compat"Clark Boylan2014-09-021-2/+1
| | | | | | | | | | This reverts commit 1d7647fa857fa718af814f3038d538d758c35201. This change altered the xml output (by forcing it to fail) which a backward compatible change should not do. Revert it in order to get this compat change in without breaking that output and test. Change-Id: I20f66fb1bd9c70a0debbdd5eebacf6ec5d0f5df9
* Some tweaks to get closer to Python 3 compatMarc Abramowitz2014-09-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | Convert to use idioms that work for both python 3 and python 2.6+ and ensure that a suitable version of dependencies is included for python 3 compatibility. Update python-jenkins to 0.3.3 as the earliest version that supports python 3 without any known regressions. Add an extra parser check for missing 'command' due to changes in how argparse works under python 3. Where contents should be retained, to access the first element of a dict in both python 2 and 3, 'next(iter(dict.items()))' is used as the standard idiom to replace 'dict.items()[0]' as 'items()' returns an iterator in python 3 which cannot be indexed. Using 'next(iter(..))' allows for both lists and iterators to be passed in without unnecessary conversion of iterators to lists which would be true of 'list(dict.items())[0]'. Alternatively, where further access to the data is not required, 'dict.popitem()' is used. Change-Id: If4b35e2ceee8239379700e22eb79a3eaa04d6f0f
* Argparse is required for JJB to parse argumentsDarragh Bailey2014-07-271-0/+1
| | | | | | | Move argparse requirement from tests to install requirements as it is required when using JJB. Change-Id: If503ebfe790c904f77ef45b59ea909a2577db5cd
* Add tox "coverage" targetMarc Abramowitz2014-05-271-1/+1
| | | | Change-Id: I577d62e016a550ea30671837a0a426165984e982
* Migrate to pbrAntoine Musso2014-03-141-0/+3
I found out pbr to be a bit nicer when it comes to edit files. AFAIK most OpenStack project are using it, so I guess Jenkins Job Builder can be pbr based as well.o Basically: * moved everything from setup.py to setup.cfg * sorted entries while at it * require pbr module using the same version limits used by Zuul * enable pbr.warnerrors * testenv.usedevelop = True or build_sphinx can not find entry points * move requirement files to root of repository (we had them in /tools/) Change-Id: I44ee8910ad4fe4eebb7337951efa31baff4281fe