Change I42660519c1cbe94a4322767b1940e113b0e5a276 missed dropping support
for Python 3.6 which is also EOL.
This is not noted as a breaking change as the release email that went out
for JJB 4.0.0 already addresses that we will be dropping support for
Python 3.6 and older so this simply removes the CI testing associated with
that statement.
Change-Id: Ia146401460c8978d1b53213413bf92d5aef9a3cf
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
This adds a job type "githuborg", which creates multibranch pipelines
for all repos in the org that contain the specified Jenkinsfile.
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
Change-Id: I148e2300f3b1ee148b51d25a2a805ed0b5a97862
Since change I5cbf7b5cfea349a0bd72d2abee40710175cf5b2f, this repo
publishes to https://jenkins-job-builder.readthedocs.io/en/latest/ ,
let's update the links for this.
Change-Id: I08f8dd992ee1b6360f3d226cb668cda7f4242b8a
Please review the following patch containing the code changes in
the repo. This patch is a transition patch and is the auto-generated
output of the python-black tool.
Change-Id: I2d2de71da8a105fb62b561899ae78441ddab4032
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
- upgrade flake8 to 3.6.0
- remove use of hacking since pre-commit replaced it
- mentioned minimal flake8 version on pre-commit config
- fixed newer linting errors
- disable W504 as it seems not possible to fix (conflict with W403)
- replaced buggy tox deps installation with native pip install, which
address the issue of missing to install new deps when the reqs files
are updated, developer being forced to to recreate the virtualenv.
- prepare for migration from tox-pep8 to tox-linters, now these being
just aliases.
Change-Id: I310578dce215aaf00a5b2d54716f90da9a1ecb4d
Depends-On: https://review.openstack.org/#/c/613726/
This work was based on original work done by
Joshua Harlow on top of older code from:
https://github.com/abnamrocoesd/jenkins-job-builder/
Credit is due to `Joost van der Griendt` for doing this
work. This builds on his work in that repo, and adjusts it
so that it can get merged into upstream and released
as a fully supported job type.
SCM implementation is different than than normal SCM module,
supporting: BitBucket, git, and GitHub in this initial
patch.
Change-Id: If50a54d282dd7d901c16edb9fe04874bdd83c9ef
Co-Authored-By: Joshua Harlow <jxharlow@godaddy.com>
Co-Authored-By: Sorin Sbarnea <ssbarnea@redhat.com>
Co-Authored-By: Thanh Ha <zxiiro@linux.com>
Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
Signed-off-by: Thanh Ha <zxiiro@linux.com>
Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
Add a list subcommand that allows listing of all the jobs defined in
yaml configuration, or on the Jenkins master, with the option of taking
glob parameters to allow matching some job names.
Also supports the recursive and exclude path control options.
jenkins-jobs list 'wikimedia-fundraising*'
jenkins-jobs list -r -p configs/ 'wikimedia-fundraising*'
Co-Authored-By: Darragh Bailey <dbailey@hpe.com>
Co-Authored-By: Sorin Sbarnea <ssbarnea@redhat.com>
Change-Id: I897b9ed35561e455dc6b89c3bacec74b54777903
Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
JJB supports both Python 2 and 3 without any need to convert the
source, so we can safely publish universal wheels.
Change-Id: I59fdc6271ac662bf04fb84ba32b6bca6fe5e8624
Add project folder module. Jenkins folder could be made with project-type: folder
This requires Cloudbees folder plugin and python-jenkins folder update
(see: https://review.openstack.org/#/c/180185/)
Change-Id: I7e1c28c26a69ae6ca736cec88fcb957a716d8fad
Getting plugin info requires Administrator permissions. It seems the
test command allows providing the plugin_info details via a yaml
configuration file. This patch allows the same command to be passed to
the update command to allow us to configure the plugin versions manually
and not require administrator permissions.
Additionally this patch adds a new command called get-plugins-info
which can create the plugins_info.yaml file to pass to the
plugin_info_path.
See:
http://lists.openstack.org/pipermail/openstack-infra/2016-June/004388.html
Change-Id: I5a34979407d863a84f34afbf8f565081ec52190a
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Introduce the registry.MacroRegistry class to handle:
* registration of macro types via setuptools' entrypoints
* registration of individual macros for lookup by component list type
* expansion of macros references during YAML "parsing"
As a consequence there is a reduction in performance due to moving the
expansion of macros from inline with XML generation, to requiring
multiple passes over macro component lists.
This decrease in efficiency results in approx ~30-50% increase in unit
test time. Since this will allow for jobs to be expanded from
templates/macros in parallel with future changes, it is a reasonable
short term trade-off as the most computationally expensive task is
updating the definitions on the remote master
Change-Id: I292c6b1f8472370282205426cd8ceb847eb969bd
Rather than linking to the page about OpenStack's specific JJB
implementation.
This matches the link in the README.
Change-Id: I54e1ea1ec4db534535c9ee1a10bf672a8d2b4c62
Since introduction of the Jenkins Pipeline plugin
(https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Plugin), one can
configure a Pipeline job using a Groovy file lying with the source code
(see: https://jenkins.io/solutions/pipeline/).
We add support here for this kind of jobs, introducing a new component:
pipeline-scm. This component contains information about the repository to
clone and the name of the file where the job configuration can be found.
Since Workflow plugin is just an old name for the Pipeline plugin,
Workflow job type can be deprecated in favor of Pipeline job type to
avoid confusion and keep JJB in line with the terms used in Jenkins.
Change-Id: I098b9673c44b1281fa0954193d8fadf273685386
Story: 2000573
Task: 2974
Python 3.3 is not supported from Mitaka, as per Infra.
This patch removes the support and update to py34
for the same.
Change-Id: I601e4c239178d8066122166b4aa07da26d3134bc
- Adds the ability for JJB to work with views
- Views can be created, updated, and deleted.
- New modules for List view and Build Pipeline view are added
- New tests for testing the deletion of views
Example View configuration:
- view:
name: MyView
view-type: list
Change-Id: Idb29a4407bcc14593e10a4d951036cb04e8e6c27
Co-Authored-By: Brandon Leonard <brandon.leonard@rackspace.com>
Co-Authored-By: Joao Vale <jpvale@gmail.com>
Co-Authored-By: Lucas Dutra Nunes <ldnunes@ossystems.com.br>
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
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
With the inclusion of a separate job to execute the sphinx linkcheck
module, there is no need to run it as part of the docs job every time.
Change-Id: I80b31a2f5c7bb11a19985c726724b351a7f9e727
Depends-On: I7526b737523249b07defc03f19998c8f615bdddb
Use the component type entry points to infer modules to scan
corresponding modules and automatically construct entry points for any
functions associated with yaml entries in JJB definitions.
This removes the need for new JJB modules added directly to the project
to also need to be listed in the setup.cfg to be reachable. Simply
adding the needed functionality to the correct file ensures that it is
available.
Change-Id: I2a0fd8f6720ddfd8582b58e47556a87ed1ad553d
This change breaks our run-tox usage, see the compare-xml output.
This reverts commit 2de4ba8a8129365991fcabcc16ca8e91b08ed8e1.
Change-Id: I5ee2afd4f15d22d43eb78fe3086109fabb550e36
The entry point cucumber_testresult is incorrect given the style
adopted for all the other entry points, it should be:
cucumber-testresult=jenkins_jobs.modules.publishers:cucumber_testresult
Change-Id: I60fcecb667cb5aa626e9ca7b9dcaa3dba3122cfa
This builder uses the ShiningPanda plugin. It is implemented as a "tox"
builder independent of the "shining-panda" one since the latter defines
"common" arguments (such as `nature` or `command`) that do not apply to this
tox builder.
Change-Id: I99c1fdad392d41deb9c8fdd5c3617bb10860ac39
There's a relatively new workflow plugin, based on the old build flow
one
Change-Id: I5541443e15335839754afee59f1b74ed29ce6676
Signed-off-by: David Caro <dcaroest@redhat.com>
This plugin allows you to add a Runscope API test as a build step into
your Jenkins build pipeline.
Change-Id: I836f158b798ea65871ab2214f2093bebf790be65
Add entry points for all builder and scm entry points for the
openshift3 plugin. Adds openshift-builder, openshift-build-verify,
openshift-deployer, openshift-dep-verify, openshift-img-tagger,
openshift-scaler, openshift-svc-verify, openshift-img-streams
Change-Id: I5d08ddd7eb09241869cf56a5ffdfcce6a0671a4c