# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {
'jjb': ('https://docs.openstack.org/infra/jenkins-job-builder/', None),
+ 'lfdocs': ('http://docs.releng.linuxfoundation.org/en/latest/', None),
'lftools': ('http://lftools.releng.linuxfoundation.org/en/latest/', None),
'python': ('https://docs.python.org/', None),
}
.. literalinclude:: ../../.jjb-test/lf-ci-jobs/jenkins-cfg-verify.yaml
:language: yaml
+
+.. _jenkins-sandbox-cleanup:
+
Jenkins Sandbox Cleanup
-----------------------
:cron: Schedule to run job. (default: '0 8 * * 6')
+.. _jjb-deploy:
+
JJB Deploy Job
--------------
-Deploy jobs to jenkins-sandbox system via code review comment
+Deploy jobs to jenkins-sandbox system via code review comment.
This job checks out the current code review patch and then runs a
-`jenkins-jobs update` to push a patch defined by the comment.
+``jenkins-jobs update`` to push a patch defined by the comment.
:Template names:
.. note::
JOB_NAME can include the * wildcard character to push multiple jobs
- matching the pattern. For example `jjb-deploy builder-jjb-*`` will push
+ matching the pattern. For example ``jjb-deploy builder-jjb-*`` will push
all builder-jjb-* jobs to the sandbox system.
:Required parameters:
:gerrit_jjb_deploy_job_triggers: Override Gerrit Triggers.
+.. _jjb-merge:
+
JJB Merge
---------
(default defined by lf_jjb_common)
+.. _jjb-verify:
+
JJB Verify
----------
:gerrit_verify_triggers: Override Gerrit Triggers.
+Test an in-progress patch
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+To test an in-progress patch from a GitHub Pull Request. Upload this
+job to the :doc:`Jenkins Sandbox <lfdocs:jenkins-sandbox>`. Then when manually
+building the job replace the GERRIT_REFSPEC parameter with the GitHub Pull
+Request number of the patch you would like to test.
+
+Example GitHub:
+
+.. code-block:: none
+
+ GERRIT_REFSPEC: origin/pr/49/merge
.. _gjjb-packer-verify:
disable-job: false
github-url: 'https://github.com'
jjb-cache: '$HOME/.cache/jenkins_jobs'
- jjb-version: 2.2.1
+ jjb-version: 2.8.0
stream: master
submodule-recursive: true
submodule-timeout: 10
scm:
- lf-infra-github-scm:
url: '{git-clone-url}{github-org}/{project}'
- refspec: ''
- branch: 'refs/heads/{branch}'
+ refspec: >
+ +refs/heads/*:refs/remotes/origin/*
+ +refs/pull/*:refs/remotes/origin/pr/*
+ branch: '$GERRIT_REFSPEC'
submodule-recursive: '{submodule-recursive}'
submodule-timeout: '{submodule-timeout}'
choosing-strategy: default
--- /dev/null
+---
+upgrade:
+ - |
+ Requires JJB 2.8.0 for the jenkins-sandbox-cleanup job to not fail.
+
+ .. note::
+
+ Despite the failure if JJB 2.8.0 is not available the job will
+ successfully delete all jobs and views, the primary purpose of this job.
+fixes:
+ - |
+ :ref:`RELENG-1450 <https://jira.linuxfoundation.org/browse/RELENG-1450>`_
+ All view disappears on Jenkins Sandbox after views are deleted. The **All**
+ view is now recreated after ``delete-all`` is run.
--- /dev/null
+---
+features:
+ - |
+ The GERRIT_REFSPEC build parameter can now be used to trigger a test build
+ from the Jenkins Sandbox system against a work in progress packer image
+ patch from a GitHub Pull Request.
set -eux -o pipefail
bash -c "/usr/bin/yes 2>/dev/null || true" | jenkins-jobs -s sandbox delete-all
+
+# Recreate the All default view.
+cat << EOF > all-view.yaml
+- view:
+ name: All
+ view-type: all
+EOF
+jenkins-jobs -s sandbox update -v all-view.yaml
[testenv:jjb]
deps =
- jenkins-job-builder==2.2.1
+ jenkins-job-builder==2.8.0
commands =
jenkins-jobs -l DEBUG test --recursive -o {toxinidir}/archives/job-configs {toxinidir}/jjb:{toxinidir}/.jjb-test
[testenv:jenkins-jobs]
deps =
- jenkins-job-builder{env:JJB_VERSION_OP:~=}{env:JJB_VERSION:2.0.9}
+ jenkins-job-builder{env:JJB_VERSION_OP:~=}{env:JJB_VERSION:2.8.0}
commands =
jenkins-jobs {posargs:--help}