Add pre-build scripts to Python templates
[releng/global-jjb.git] / docs / jjb / lf-python-jobs.rst
index 44a09ca..15c5b08 100644 (file)
@@ -5,23 +5,12 @@ Python Jobs
 Job Groups
 ==========
 
-{project-name}-python-jobs
---------------------------
+.. include:: ../job-groups.rst
 
-Jobs for Python projects using Gerrit.
+Below is a list of Maven job groups:
 
-:Includes:
-
-    - gerrit-tox-verify
-
-{project-name}-github-python-jobs
----------------------------------
-
-Jobs for Python projects using GitHub.
-
-:Includes:
-
-    - github-tox-verify
+.. literalinclude:: ../../jjb/lf-python-job-groups.yaml
+   :language: yaml
 
 
 Macros
@@ -86,6 +75,8 @@ IQ Server.
     - gerrit-python-xc-clm
     - github-python-xc-clm
 
+:Comment Trigger: run-clm
+
 :Required parameters:
 
     :build-node: The node to run build on.
@@ -95,14 +86,26 @@ IQ Server.
 :Optional parameters:
 
     :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
-    :nexus-iq-cli-version: Nexus IQ CLI package version to download and use. (default: 1.44.0-01)
-    :build-timeout: Timeout in seconds before aborting build. (default: 60)
+    :nexus-iq-cli-version: Nexus IQ CLI package version to download and use.
+        (default: 1.44.0-01)
+    :nexus-iq-namespace: Insert a namespace to project AppID for projects that
+        share a Nexus IQ system to avoid project name collision. We recommend
+        inserting a trailing - dash if using this parameter.
+        For example 'odl-'. (default: '')
+    :build-timeout: Timeout in minutes before aborting build. (default: 60)
     :git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
     :java-version: Version of Java to use for the build. (default: openjdk8)
+    :pre-build-script: Shell script to execute before the CLM builder.
+        For example, install prerequisites or move files to the repo root.
+        (default: a string with only a comment)
     :stream: Keyword used to represent a release code-name.
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
+    :submodule-disable: Disable submodule checkout operation.
+        (default: false)
     :gerrit_clm_triggers: Override Gerrit Triggers.
     :gerrit_trigger_file_paths: Override file paths which used to filter which
         file modifications will trigger a build. Refer to JJB documentation for
@@ -146,6 +149,8 @@ https://docs.sonarqube.org/display/PLUG/Python+Coverage+Results+Import
     - gerrit-tox-sonar
     - github-tox-sonar
 
+:Comment Trigger: run-sonar
+
 :Required parameters:
 
     :build-node: The node to run build on.
@@ -156,7 +161,7 @@ https://docs.sonarqube.org/display/PLUG/Python+Coverage+Results+Import
 :Optional parameters:
 
     :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
-    :build-timeout: Timeout in seconds before aborting build. (default: 60)
+    :build-timeout: Timeout in minutes before aborting build. (default: 60)
     :cron: Cron schedule when to trigger the job. This parameter also
         supports multiline input via YAML pipe | character in cases where
         one may want to provide more than 1 cron timer.  (default: H 11 * * *
@@ -166,10 +171,17 @@ https://docs.sonarqube.org/display/PLUG/Python+Coverage+Results+Import
     :mvn-global-settings: The name of the Maven global settings to use for
         Maven configuration. (default: global-settings)
     :mvn-version: Version of maven to use. (default: mvn35)
+    :pre-build-script: Shell script to execute before the Sonar builder.
+        For example, install prerequisites or move files to the repo root.
+        (default: a string with only a comment)
     :stream: Keyword used to represent a release code-name.
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
+    :submodule-disable: Disable submodule checkout operation.
+        (default: false)
     :gerrit_sonar_triggers: Override Gerrit Triggers.
     :gerrit_trigger_file_paths: Override file paths which used to filter which
         file modifications will trigger a build. Refer to JJB documentation for
@@ -196,6 +208,8 @@ following pyenv variables before running.
     - gerrit-tox-verify
     - github-tox-verify
 
+:Comment Trigger: recheck|reverify
+
 :Required Parameters:
 
     :build-node: The node to run build on.
@@ -206,14 +220,21 @@ following pyenv variables before running.
 
     :branch: The branch to build against. (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)
+    :pre-build-script: Shell script to execute before the Tox builder.
+        For example, install prerequisites or move files to the repo root.
+        (default: a string with only a comment)
     :python-version: Version of Python to configure as a base in virtualenv.
         (default: python3)
     :stream: Keyword representing a release code-name.
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
+    :submodule-disable: Disable submodule checkout operation.
+        (default: false)
     :tox-dir: Directory containing the project's tox.ini relative to
         the workspace. Empty works if tox.ini is at project root.
         (default: '')