Commit Graph

90 Commits

Author SHA1 Message Date
Vsevolod Fedorov f4d64f9f66 Move tests to pytest
Pytest makes each scenario into individual selectable test.
To be able to run each scenario separately is very useful for development.

Change-Id: I4b1c990a1fd839ce327cd7faa27159a9b9632fed
2022-12-20 10:44:43 +03:00
sp-ricard-valverde f0aeddf53a
fix(scm): add clean options to after and before
git-scm clean after and before extensions take an optional parameter to
remove untracked nested git repositories

Added support to specify such options while maintaining the previous
specification for after and before clean extensions, although a
deprecation message will be shown

Signed-off-by: sp-ricard-valverde <ricard.valverde@socialpoint.es>
Change-Id: I0ff101bbc68fc81f390b27fe5690f8821fdea1d0
2022-11-24 19:34:55 +01:00
Zuul 760d255a54 Merge "Add git submodule threads" 2021-04-10 13:47:25 +00:00
Pawel Piatek b8f0e75d34 Add git submodule threads
Signed-off-by: Pawel Piatek <xj@wp.pl>
Change-Id: I3dbc0e710460a5f55d4146cb1dd70e1ac3560e68
2021-03-18 12:39:34 +01:00
sp-ricard-valverde c1d8a41666 feat(scm): add git extension for lfs-pull
Add a missing extension to git scm which enables the option to do
"Git LFS pull after checkout"

Add lfs-pull fixtures

Change-Id: Ie8b98877f3f282ac0b32dbeb089e6d0d9ccc25c8
2021-03-16 18:29:56 +01:00
Thanh Ha 4d90c187a9 Auto-generated output from python-black
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>
2019-09-09 19:23:24 +01:00
kendallpcdoctor 5117d87e8c Add support for two new plugins, and a new version of one
Added new support for the following plugins:
Perforce plugin: https://wiki.jenkins.io/display/JENKINS/Perforce+Plugin
InfluxDB plugin: https://wiki.jenkins.io/display/JENKINS/InfluxDB+Plugin

Added support for v3.0 of the following plugin
https://wiki.jenkins.io/display/JENKINS/Priority+Sorter+Plugin

Change-Id: If109863a91710c08b34dee622496e551a7b3b520
2019-07-25 13:12:49 -07:00
Vishal Bhoj e6398cf373
Set reference repo under clone options
When we have cloneOptions in the generated with options like
tags and reference filled outside of cloneOptions,
The reference is not filled in the job configuration and this
option will not work as expected. reference should
alwasy be listed inside CloneOptions.

Change-Id: I519d3c42f1b32ab27243b0f5c592e3d41e3230bb
Signed-off-by: Vishal Bhoj <vishal.bhoj@linaro.org>
2019-04-09 16:18:51 +08:00
Ladislav Thon a2ad875fd7 add the "honorRefspec" option to the Git SCM
Taken from github pull request
https://github.com/openstack-infra/jenkins-job-builder/pull/64/files

Change-Id: Ib051a46daa4a3e2d6add74cc9c1c3c1eb766672a
2019-01-31 17:08:34 +00:00
Barak Korren 11941c87f4 Fix bug in Git 'skip-tag' backwards compatibility
Using the (deprecated) 'skip-tag' option in Git  SCM did not work as
expected, despite code in place to maintain compatibility with it.

This needs to work to allow smooth transition for projects from JJB 1.x
to 2.x.

Also added a test case to expose the issue.

Change-Id: I90230f9fe97757bcc70e35b829fc887839a19e57
Signed-off-by: Barak Korren <bkorren@redhat.com>
2018-07-05 10:33:33 +03:00
Sorin Sbarnea c2781e670f
Normalize newlines at end of file
Preparatory move for adopting pre-commit hooks.
Shoudl only remove newlines and spaces at end of files.

Change-Id: Ia33679467c533722b9308f7e7b74be395c926428
Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
2018-06-29 16:07:06 -04:00
tanhengyeow 84ce3b4f56 Add support for AccuRev as SCM Provider
The AccuRev plugin is supported in this patch.

Change-Id: I4a9d58367afdf06913213bdc8c0fdd8de5126d3e
Story: #2001118
Task: #4809
2018-06-18 21:08:03 +08:00
Imran Malik 4167cc5dbd Add depth option to git shallow-clone
- Use convert xml for shallow-clone and depth

Change-Id: I92d4bd2ded6db66bb608aed480e873e29e7b9474
2018-06-14 22:07:35 -04:00
Yolande Amate 4ee8581e38
Update tfs to use convert_mapping_to_xml()
Change-Id: Iec3972d2f16e660759b9eeaedb26bddea2ff21a6
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
2017-10-23 14:25:31 -04:00
Jenkins bfa1ae56eb Merge "Add Support for a list of additional-credentials in the SVN-plugin" 2017-10-06 15:07:50 +00:00
Jacqueline Haefke 88e4dfdc2c Add Support for a list of additional-credentials in the SVN-plugin
Since the 30.01.2017 the SVN plugin support additional-credentials, but the jenkins-job-builder can't generate this part:

<additionalCredentials>
     <hudson.scm.SubversionSCM_-AdditionalCredentials>
        <realm>...</realm>
        <credentialsId>...</credentialsId>
     </hudson.scm.SubversionSCM_-AdditionalCredentials>
     <hudson.scm.SubversionSCM_-AdditionalCredentials>
        <realm>...</realm>
        <credentialsId>...</credentialsId>
     </hudson.scm.SubversionSCM_-AdditionalCredentials>
</additionalCredentials>

Now you have optional 'additional-credentials' parameters.

Change-Id: I801cada4bd630242a216a1facc4abfc8d5378bcf
Task:4884
Story:2001152
2017-10-06 10:08:32 +02:00
Yolande Amate 5541b319bc Update cvs to use convert_mapping_to_xml()
Change-Id: I0fb5426865f0b116491ece745442f7d2fa8d290b
2017-08-11 22:31:13 +01:00
Bao Nguyen badab02647 Add `do-not-fetch-tags` to CloneOption for Git
In one of the recent change to Git plugin behavior[1], tags are
also search as part of branches.

This cause projects that build on all branches to also build on all
tags.

This change allowing for tags to be ignored.

Default this option is false and missing from XML output.

[1] https://github.com/jenkinsci/git-plugin/pull/340
[2] bfeda3e661

Change-Id: I2ed2290f9ef8ecd0d9e96aad1d7cbce2964bf2da
2017-06-11 10:36:33 -07:00
Azat Khuzhin 9e51beb804 scm: introduce parent-credentials for git submodules
Jenkins Git plugin does not use your configured credentials for cloning
submodules, but you can told it to use credentials from parent
repository, by checking "Use credentials from default remote of parent
repository", and this "parent-credentials" will set that option.

So without this option jenkins git plugin will not be able to clone
submodules, if they are not public available.

The default value is "false", like in jenkins git plugin.

See-also: https://issues.jenkins-ci.org/browse/JENKINS-20941
Change-Id: I1cfb3f45bb082f538eff1a9e64a03be27f759a5f
Signed-off-by: Azat Khuzhin <a3at.mail@gmail.com>
2017-04-04 14:00:16 +03:00
Jenkins 7e3edde3dc Merge "Prevent creation of empty parameters for Repo" 2017-02-22 01:23:56 +00:00
Nikolas Sepos d4418907d9 Add Dimensions SCM support
Change-Id: I6a8247ef42f9fba6f619e6cbd07726c3bb704e56
2017-01-27 20:00:47 +02:00
Simon Kuhnle 3607646fac Prevent creation of empty parameters for Repo
Only manifest-url is required for the Repo plugin, all other parameters
are optional, or should at least not generate empty tags, because the
actual 'repo' tool will be called with empty parameters, leading to
a failed execution.

This was introduced with a34bd67ef7.
Before that change, empty strings did not generate XML entries.

Change-Id: Ia66845cb71b01c8e26285ed2eabb1ef32622e3e1
Story: 2000727
2017-01-26 10:59:38 +01:00
Darragh Bailey 4573b3a25d Refactor base test classes inheritance for reuse
Refactor base test class inheritance to allow for BaseTest class to be
reused without needing to also import the TestCase class everywhere in
order to avoid having the common test function executed on base classes.

This makes it easier to build base testing classes and then simplifies
the subclassing of these for actual tests.

Change-Id: I89809e8082469f814f245db4a9ab7658aac8a405
2016-09-14 14:58:57 +01:00
Jenkins 276e519395 Merge "SCM repo: add ignore-projects option" 2016-07-19 17:06:50 +00:00
Kien Ha 23738de4a2 Update OpenShift Pipeline plugin
- Update convert_mapping_to_xml to use fail_required=True argument
- Update documentations to have default options

Change-Id: Icb1435f76276ef9e7dd8a84506ca7f9cbf90a853
Signed-off-by: Kien Ha <kienha9922@gmail.com>
2016-07-18 19:12:44 -04:00
Jenkins 8f33a3f087 Merge "Update Git SCM so that extensions are configured correctly." 2016-06-15 14:25:39 +00:00
Lucas Dutra Nunes 0791f9724a SCM repo: add ignore-projects option
Change-Id: I4468b699fa86d0790dbb01457d2e67e276740940
Signed-off-by: Lucas Dutra Nunes <ldnunes@ossystems.com.br>
2016-06-14 14:06:48 -03:00
Jeff Grafton cdfeb7bf66 Update Git SCM so that extensions are configured correctly.
Many configuration options have been extensions for at least 2 years, so
update the generated XML to actually configure these options.

Change-Id: Ic22ca4a6b8d61c977979a5eb63a2e884dc4391bd
2016-06-06 13:35:04 -07:00
Ryo Tagami c28ac736be Fix Multiple SCMs Plugin child XML format
Current implementation of Multiple SCMs Plugin seems to be broken.  Test
with following combination of Jenkins and Multiple SCMs Plugin

* Jenkins 2.2 (latest) + multiple-scms 0.6 (latest)
* Jenkins 1.651.1 (latest LTS) + multiple-scms 0.6 (latest)
* Jenkins 1.409.1 (oldest LTS) + multiple-scms 0.1 (oldest)
* Jenkins 1.396 (oldest) + multiple-scms 0.1 (oldest)

all emitted XML with following format (apart from `plugin=` here and
there):

```
  <scm class="org.jenkinsci.plugins.multiplescms.MultiSCM">
    <scms>
      <hudson.scm.SubversionSCM>
        :
      </hudson.scm.SubversionSCM>
      <hudson.scm.CVSSCM>
        :
      </hudson.scm.CVSSCM>
    </scms>
  </scm>
```

whereas current Jenkins Job Builder implementation emits XML with
following format:

```
  <scm class="org.jenkinsci.plugins.multiplescms.MultiSCM">
    <scms>
      <scm class="hudson.scm.SubversionSCM">
        :
      </scm>
      <scm class="hudson.scm.CVSSCM">
        :
      </scm>
    </scms>
  </scm>
```

This commit will fix this problem by modifying child `scm` node to a
correct format before adding to the parent `scm` node.

Change-Id: I0b9115c156a06a7fbdf529341dfc6100edf225aa
Signed-off-by: Ryo Tagami <rtagami@airstrip.jp>
2016-05-11 14:19:07 +09:00
Adam Kaufman c50171b1b9 Add support for URL scm plugin
Allows for watching for changes in an artifact from a given url

Change-Id: I4debc2c6589962497a746f951a54857c8507ea02
2016-04-27 04:17:21 +08:00
Jenkins e3c5203bc1 Merge "add reference-repo option to scm git submodule" 2016-02-25 19:30:09 +00:00
Jenkins ef50e8c20f Merge "SCM repo: add show-all-changes option" 2016-02-25 19:01:44 +00:00
Jenkins 44dcbbe802 Merge "SCM repo: add trace option" 2016-02-25 19:01:29 +00:00
Jenkins 57898442bc Merge "SCM repo: add no-tags option" 2016-02-25 19:01:03 +00:00
Jenkins 64bd51dcd6 Merge "SCM repo: add reset-first option" 2016-02-25 19:00:16 +00:00
Jenkins eee063d4b2 Merge "SCM repo: add depth option" 2016-02-25 18:59:18 +00:00
Jenkins 3954224c78 Merge "SCM repo: add force-sync option" 2016-02-25 18:58:53 +00:00
Lucas Dutra Nunes 48e34564da SCM repo: add show-all-changes option
Change-Id: I6260808fe1c845aaed500712e97cd72f5b6c8fa3
Signed-off-by: Lucas Dutra Nunes <ldnunes@ossystems.com.br>
2016-02-18 16:22:03 -02:00
Lucas Dutra Nunes c0cf8b2b90 SCM repo: add trace option
Change-Id: Ie347f453dd3b677c343d3682b8e1f5c87cf93c27
Signed-off-by: Lucas Dutra Nunes <ldnunes@ossystems.com.br>
2016-02-18 16:22:03 -02:00
Lucas Dutra Nunes 856fc9b354 SCM repo: add no-tags option
Change-Id: I5c448776277afa4acbec71fa0a6f38286fe3401b
Signed-off-by: Lucas Dutra Nunes <ldnunes@ossystems.com.br>
2016-02-18 16:22:03 -02:00
Lucas Dutra Nunes 993e82a409 SCM repo: add reset-first option
Change-Id: Iafb79bb98ac3863f996027caa9136725cc59e973
Signed-off-by: Lucas Dutra Nunes <ldnunes@ossystems.com.br>
2016-02-18 16:22:03 -02:00
Lucas Dutra Nunes e5d291b79b SCM repo: add depth option
Change-Id: I056ca2e6eedfb6915338e654597ae562d89a6295
Signed-off-by: Lucas Dutra Nunes <ldnunes@ossystems.com.br>
2016-02-18 16:21:57 -02:00
Lucas Dutra Nunes ee3c59775d SCM repo: add force-sync option
Change-Id: I232d45f4066c0ac2b3cddce9ca99a9a02903813a
Signed-off-by: Lucas Dutra Nunes <ldnunes@ossystems.com.br>
2016-02-15 13:28:17 -02:00
Christian Rodemeyer 66b7f4d907 add reference-repo option to scm git submodule
For the Git Plugin you can specify a reference repository to speed
up cloning. This is already implemented on the top level and this
commit adds it to the submodule extension.

Change-Id: Ic1d19d7c31ec7ecb5578a0ebad5bd936756c7582
2016-02-14 10:30:56 +01:00
Ari LiVigni 96065cc4e4 Updated to support changes to openshift pipeline plugin
- Documentation updated with correct links and options
- New openshift-creator builder added
- Two new publishers openshift-build-canceller and openshift-deploy-canceller
- Added verbose option to all existing builders and scm

Change-Id: I63f19bec6ea8a2344f48d59ad751a8bc5c3be9eb
2016-01-06 11:37:53 -05:00
Darragh Bailey 8805a34c0f Reorder imports to match hacking guidelines
Ensure that the imports follow the standard OpenStack hacking
guidelines.

Change-Id: Iaa4326aef118ddfd807dd006934f1d9ca80a1cfa
2015-12-23 15:23:42 -08:00
Daniel Watkins 860f6ffec5 Implement bzr SCM module.
Change-Id: Iee9c42a742b4062cb4756d16e5978905e115f13f
2015-12-19 16:15:20 +00:00
Jenkins 4eb33b2595 Merge "Make git.timeout parameter set clone timeout too." 2015-11-12 19:00:11 +00:00
Paul Sokolovsky ff248cdfc7 Make git.timeout parameter set clone timeout too.
Git plugin has few fine-grained timeout settings, with jenkins-job-builder
setting only checkout timeout. Make the same timeout apply for clone
operations too.

Based on https://storyboard.openstack.org/#!/story/2000372

Change-Id: Id01d413bef7ffa3a069cc1000c923e1bd9ad9ff5
Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
2015-10-28 16:07:41 +03:00
Ari LiVigni 101f74645d Made a common helper function - convert_mapping_to_xml
This will allow other modules to convert a mapping set to xml easily
with defaults so other methods don't have to create their own.

Includes behaviour to selectively omit or include empty tags.

Behaviour for default value:
  None - omit this tag if users didn't put anything
  "" - create an empty element if users didn't put anything

This is applied to the existing openshift plugin functions in
refactoring as Jenkins actually retains an empty XML tag when the
optional 'auth-token' setting is missing from the input job definition.
Which results in modifying the default test's output for the openshift
plugin.

Change-Id: I935a70ad191bc0f3f3dbd571b2b1cf7468106697
2015-10-09 17:47:01 +01:00