project-pattern configurable for license-check
[releng/global-jjb.git] / docs / jjb / lf-ci-jobs.rst
index 57e01f9..d426b96 100644 (file)
@@ -70,6 +70,30 @@ Jobs related to Packer builds for CI using GitHub.
 Macros
 ======
 
+lf-infra-jjb-parameters
+-----------------------
+
+:Required Parameters:
+
+    :jjb-version: Version of Jenkins Job Builder (JJB) to install and use in
+        the jjb jobs.
+
+lf-jenkins-cfg-clouds
+---------------------
+
+Deploys Jenkins Cloud configuration read from the ``jenkins-clouds`` directory
+in ci-management repositories.
+
+.. note::
+
+   Requires the jjbini file in Jenkins CFP to contain JJB 2.0 style
+   config definitions for "production" and "sandbox" systems.
+
+:Required Parameters:
+
+    :jenkins-silos: Space-separated list of Jenkins silos to update
+        configuration for as defined in ~/.config/jenkins_jobs/jenkins_jobs.ini
+
 lf-jenkins-cfg-global-vars
 --------------------------
 
@@ -84,7 +108,7 @@ ci-management/jenkins-config/global-vars-SILO.sh script.
 
 :Required parameters:
 
-    :jenkins-silos: Space separated list of Jenkins silos to update
+    :jenkins-silos: Space-separated list of Jenkins silos to update
         configuration for as defined in ~/.config/jenkins_jobs/jenkins_jobs.ini
 
 lf-infra-jjbini
@@ -207,12 +231,8 @@ currently the only cloud plugin supported.
 
 OpenStack Cloud plugin version supported:
 
-* 2.30
-* 2.31
-* 2.32
-* 2.33
-* 2.34
-* 2.35
+* 2.30 - 2.34
+* 2.35 - 2.37
 
 Cloud configuration are managed via a directory structure in ci-management as
 follows:
@@ -278,6 +298,8 @@ configuration in the format ``KEY=value``.
     :RETENTION_TIME: Number of minutes to wait for an idle slave to be used
         again before it's removed. If set to -1, the slave will be kept
         forever. (default: 0)
+    :CONNECTION_TYPE: The connection type for Jenkins to connect to the build
+        minion. Valid options: JNLP, SSH. (default: "SSH")
 
 For a live example see the OpenDaylight project jenkins-config directory.
 https://github.com/opendaylight/releng-builder/tree/master/jenkins-config
@@ -348,7 +370,7 @@ Runs `jenkins-jobs update` to update production job configuration
 
     :branch: Git branch to fetch for the build. (default: master)
     :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
-    :build-timeout: Timeout in seconds before aborting build. (default: 10)
+    :build-timeout: Timeout in minutes before aborting build. (default: 10)
     :git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
     :stream: Keyword that can be used to represent a release code-name.
         Often the same as the branch. (default: master)
@@ -383,7 +405,7 @@ Runs `jenkins-jobs test` to validate JJB syntax
 
     :branch: Git branch to fetch for the build. (default: master)
     :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
-    :build-timeout: Timeout in seconds before aborting build. (default: 10)
+    :build-timeout: Timeout in minutes before aborting build. (default: 10)
     :git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
     :stream: Keyword that can be used to represent a release code-name.
         Often the same as the branch. (default: master)
@@ -419,7 +441,7 @@ other file changes. Verifies INFO.yaml files follow the schema defined in
 
     :branch: Git branch to fetch for the build. (default: master)
     :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
-    :build-timeout: Timeout in seconds before aborting build. (default: 10)
+    :build-timeout: Timeout in minutes before aborting build. (default: 10)
     :git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
     :stream: Keyword that can be used to represent a release code-name.
         Often the same as the branch. (default: master)
@@ -427,6 +449,37 @@ other file changes. Verifies INFO.yaml files follow the schema defined in
         (default: true)
     :gerrit_verify_triggers: Override Gerrit Triggers.
 
+.. _license-checker:
+
+License Checker
+---------------
+
+Job to scan projects for files missing license headers.
+
+:Template Names:
+    - {project-name}-license-check
+    - gerrit-license-check
+    - github-license-check
+
+:Optional parameters:
+
+    :build-timeout: Timeout in minutes before aborting build. (default: 15)
+    :file-patterns: Space-separated list of file patterns to scan.
+        (default: \*.go \*.groovy \*.java \*.py \*.sh)
+    :spdx-disable: Disable the SPDX-Identifier checker. (default: false)
+    :lhc-version: Version of LHC to use. (default: 0.2.0)
+    :license-exclude-paths: Comma-separated list of paths to exclude from the
+        license checker. The paths used here will be matched using a contains
+        rule so it is best to be as precise with the path as possible.
+        For example a path of '/src/generated/' will be searched as
+        '**/src/generated/**'.
+        Example: org/opendaylight/yang/gen,protobuff/messages
+        (default: '')
+    :licenses-allowed: Comma-separated list of allowed licenses.
+        (default: Apache-2.0,EPL-1.0,MIT)
+    :project-pattern: The ANT based pattern for Gerrit Trigger to choose which
+        projects to trigger job against. (default: '**')
+
 .. _gjjb-packer-merge:
 
 Packer Merge
@@ -456,7 +509,7 @@ Packer Merge job runs `packer build` to build system images in the cloud.
     :cron: Time when the packer image should be rebuilt (default: @monthly)
     :branch: Git branch to fetch for the build. (default: master)
     :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
-    :build-timeout: Timeout in seconds before aborting build. (default: 10)
+    :build-timeout: Timeout in minutes before aborting build. (default: 90)
     :git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
     :packer-cloud-settings: Name of settings file containing credentials
         for the cloud that packer will build on. (default: packer-cloud-env)
@@ -493,7 +546,7 @@ Packer Verify job runs `packer validate` to verify packer configuration.
 
     :branch: Git branch to fetch for the build. (default: master)
     :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
-    :build-timeout: Timeout in seconds before aborting build. (default: 10)
+    :build-timeout: Timeout in minutes before aborting build. (default: 10)
     :git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
     :packer-cloud-settings: Name of settings file containing credentials
         for the cloud that packer will build on. (default: packer-cloud-env)