- job-group:
name: '{project-name}-rtd-jobs'
- # This job group contains all the ReadTheDocs jobs
-
jobs:
- gerrit-rtd-merge
- gerrit-rtd-verify
- job-group:
name: '{project-name}-github-rtd-jobs'
- # This job group contains all the ReadTheDocs jobs
-
jobs:
- github-rtd-merge
- github-rtd-verify
- lf_rtd_common: &lf_rtd_common
name: lf-rtd-common
- # RTD verify and merge jobs are the same except for their scm, trigger, and
- # builders definition. This anchor is the common template
- #
- # Optional parameters:
- # :gerrit_trigger_file_paths: Override file paths which can be used to
- # filter which file modifications will trigger a build.
- # (default: - compare-type: ANT
- # pattern: '**/*.rst'
- # - compare-type: ANT
- # pattern: '**/conf.py')
######################
# Default parameters #
######################
gerrit_trigger_file_paths:
- - compare-type: ANT
- pattern: '**/*.rst'
- - compare-type: ANT
- pattern: '**/conf.py'
+ - compare-type: REG_EXP
+ pattern: '.*\.css'
+ - compare-type: REG_EXP
+ pattern: '.*\.html'
+ - compare-type: REG_EXP
+ pattern: '.*\.rst'
+ - compare-type: REG_EXP
+ pattern: '.*\/conf.py'
+
+ # github_included_regions MUST match gerrit_trigger_file_paths
+ github_included_regions:
+ - '.*\.css'
+ - '.*\.html'
+ - '.*\.rst'
+ - '.*\/conf.py'
#####################
# Job Configuration #
- lf_rtd_merge: &lf_rtd_merge
name: lf-rtd-merge
- # Merge job which triggers a POST of the docs project to readthedocs
- #
- # Required parameters:
- #
- # :rtd-project: This is the name of the project on ReadTheDocs.org.
- #
- # Optional parameters:
- #
- # :branch: Git branch to fetch for the build. (default: master)
- # :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
- # :build-node: The node to run build on.
- # :build-timeout: Timeout in seconds before aborting build. (default: 15)
- # :git-url: base URL of git project. (default: https://github.com)
- # :project-pattern: Project to trigger build against. (default: **)
- # :stream: Keyword that can be used to represent a release code-name.
- # Often the same as the branch. (default: master)
-
######################
# Default parameters #
######################
branch: master
build-days-to-keep: 7
build-timeout: 15
+ disable-job: false
git-url: https://github.com
+ github-url: 'https://github.com'
project-pattern: '**'
stream: master
submodule-recursive: true
+ gerrit_merge_triggers:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: remerge$
+
#####################
# Job Configuration #
#####################
+ disabled: '{disable-job}'
+
builders:
- lf-rtd-trigger-build:
- rtd-project: '{rtd-project}'
+ rtd-build-url: '{rtd-build-url}'
+ rtd-token: '{rtd-token}'
- job-template:
name: '{project-name}-rtd-merge-{stream}'
triggers:
- gerrit:
server-name: '{gerrit-server-name}'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge$'
+ trigger-on: '{obj:gerrit_merge_triggers}'
projects:
- project-compare-type: 'ANT'
project-pattern: '{project-pattern}'
<<: *lf_rtd_merge
properties:
+ - lf-infra-properties:
+ build-days-to-keep: '{build-days-to-keep}'
- github:
- url: '{git-url}/{github-org}/{project}'
+ url: '{github-url}/{github-org}/{project}'
triggers:
- - lf-infra-github-pr-trigger:
+ - timed: 'H H * * *'
+ - github
+ - pollscm:
+ cron: ''
+ - github-pull-request:
trigger-phrase: '^remerge$'
- only-trigger-phrase: false
+ only-trigger-phrase: true
status-context: 'RTD Merge'
permit-all: true
github-hooks: true
- github-org: ''
- github_pr_whitelist:
- - ''
- github_pr_admin_list:
- - ''
- - timed: 'H H * * *'
+ org-list:
+ - '{github-org}'
+ white-list: '{obj:github_pr_whitelist}'
+ admin-list: '{obj:github_pr_admin_list}'
+ included-regions: '{obj:github_included_regions}'
+ white-list-target-branches:
+ - '{branch}'
#############
# RTD VERIFY#
- lf_rtd_verify: &lf_rtd_verify
name: lf-rtd-verify
- # Verify job which runs a tox build of the docs project
- #
- # Required parameters:
- #
- # :rtd-project: This is the name of the project on ReadTheDocs.org.
- #
- # Optional parameters:
- #
- # :branch: Git branch to fetch for the build. (default: master)
- # :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
- # :build-node: The node to run build on.
- # :build-timeout: Timeout in seconds before aborting build. (default: 15)
- # :doc-dir: Directory where tox will place built docs.
- # as defined in the tox.ini (default: docs/_build/html)
- # :git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
- # :project-pattern: Project to trigger build against. (default: **)
- # :stream: Keyword that can be used to represent a release code-name.
- # Often the same as the branch. (default: master)
- # :submodule-recursive: Whether to checkout submodules recursively.
- # (default: true)
######################
# Default parameters #
branch: master
build-days-to-keep: 7
build-timeout: 15
+ disable-job: false
doc-dir: docs/_build/html
git-url: '$GIT_URL/$PROJECT'
+ github-url: 'https://github.com'
project-pattern: '**'
stream: master
submodule-recursive: true
+ gerrit_verify_triggers:
+ - patchset-created-event:
+ exclude-drafts: true
+ exclude-trivial-rebase: false
+ exclude-no-code-change: false
+ - draft-published-event
+ - comment-added-contains-event:
+ comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
+
#####################
# Job Configuration #
#####################
+ disabled: '{disable-job}'
+
builders:
- lf-rtd-verify:
doc-dir: '{doc-dir}'
scm:
- lf-infra-gerrit-scm:
- branch: '{branch}'
+ branch: '$GERRIT_BRANCH'
jenkins-ssh-credential: '{jenkins-ssh-credential}'
git-url: '{git-url}'
- refspec: ''
+ refspec: '' # Leave blank!! A later script will handle fetching
submodule-recursive: '{submodule-recursive}'
choosing-strategy: default
triggers:
- gerrit:
server-name: '{gerrit-server-name}'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck$'
+ trigger-on: '{obj:gerrit_verify_triggers}'
projects:
- project-compare-type: 'ANT'
project-pattern: '{project-pattern}'
<<: *lf_rtd_verify
properties:
+ - lf-infra-properties:
+ build-days-to-keep: '{build-days-to-keep}'
- github:
- url: '{git-url}/{github-org}/{project}'
+ url: '{github-url}/{github-org}/{project}'
scm:
- lf-infra-github-scm:
url: '{git-clone-url}{github-org}/{project}'
refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
- branch: '{branch}'
+ branch: '$sha1'
submodule-recursive: '{submodule-recursive}'
choosing-strategy: default
jenkins-ssh-credential: '{jenkins-ssh-credential}'
triggers:
- - lf-infra-github-pr-trigger:
- trigger-phrase: '^recheck$'
+ - github-pull-request:
+ trigger-phrase: '^(recheck|reverify)$'
only-trigger-phrase: false
status-context: 'RTD Verify'
permit-all: true
github-hooks: true
- github-org: ''
- github_pr_whitelist:
- - ''
- github_pr_admin_list:
- - ''
+ included-regions: '{obj:github_included_regions}'
+ white-list-target-branches:
+ - '{branch}'