Add lf-pip-install macro to handle pypi packages
[releng/global-jjb.git] / jjb / lf-macros.yaml
index d0f596b..1c58062 100644 (file)
     builders:
       - config-file-provider:
           files:
-            - file-id: '{os-cloud-file-id}'
-              target: '$HOME/.config/openstack/clouds.yaml'
-            - file-id: 'packer-cloud-env'
-              variable: 'CLOUDENV'
+            - file-id: '{packer-cloud-settings}'
+              variable: CLOUDENV
       - inject:
           properties-content: |
               PACKER_PLATFORM={platform}
@@ -96,9 +94,7 @@
     builders:
       - config-file-provider:
           files:
-            - file-id: '{os-cloud-file-id}'
-              target: '$HOME/.config/openstack/clouds.yaml'
-            - file-id: 'packer-cloud-env'
+            - file-id: '{packer-cloud-settings}'
               variable: 'CLOUDENV'
       - inject:
           properties-content: |
           settings-file: '{settings-file}'
       - inject:
           properties-content: |
+              MAVEN_REPO_URL={maven-repo-url}
               REPO_ID={repo-id}
               GROUP_ID={group-id}
-              UPLOAD_FILES_PATH={files-dir}
+              UPLOAD_FILES_PATH={upload-files-dir}
       - shell: !include-raw-escape:
           - ../shell/lftools-install.sh
+          - ../shell/common-variables.sh
           - ../shell/deploy-maven-file.sh
       - lf-provide-maven-settings-cleanup
 
             - file-id: '{settings-file}'
               variable: 'SETTINGS_FILE'
 
+- builder:
+    name: lf-pip-install
+    # Call pip install to install packages into a virtualenv
+    # The first package listed in PIP_PACKAGES is used as the virtualenv name.
+    builders:
+      - inject:
+          properties-content: PIP_PACKAGES={pip-packages}
+      - shell: !include-raw-escape: ../shell/pip-install.sh
+
 - builder:
     name: lf-provide-maven-settings-cleanup
     # Clear maven settings files after we are done using them
               job is triggered by Gerrit.
       - string:
           name: GERRIT_REFSPEC
-          default: ''
+          default: 'refs/heads/{branch}'
           description: |
               Parameter to identify a refspec when pulling from Gerrit.
 
               Note that Gerrit will override this parameter automatically if a
               job is triggered by Gerrit.
-
+      - string:
+          name: LFTOOLS_VERSION
+          default: '{lftools-version}'
+          description: |
+              Version of lftools to install. Can be a specific version like
+              '0.6.0' or a PEP-440 definition.
+              https://www.python.org/dev/peps/pep-0440/
+              For example '<1.0.0' or '>=1.0.0,<2.0.0'.
 
 - parameter:
     name: lf-infra-tox-parameters
 # PUBLISHERS #
 ##############
 
+- publisher:
+    name: lf-jacoco-report
+    publishers:
+      - jacoco:
+          exec-pattern: "**/**.exec"
+          class-pattern: "**/classes"
+          source-pattern: "**/src/main/java"
+          exclusion-pattern: "**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**"
+          status-update: true
+          targets:
+            - branch:
+                healthy: 10
+                unhealthy: 20
+            - method:
+                healthy: 50
+                unhealthy: 40
+
 - publisher:
     name: lf-infra-publish
     # lf-infra macro to finish up a build.