Fix github-maven-merge scm config
[releng/global-jjb.git] / jjb / lf-macros.yaml
index 16cd33c..ac577c8 100644 (file)
     builders:
       - shell: !include-raw: ../shell/gpg-verify-git-signature.sh
 
+- builder:
+    name: lf-infra-pre-build
+    builders:
+      - shell: !include-raw-escape: ../shell/python-tools-install.sh
+
 - builder:
     name: lf-infra-ship-logs
     builders:
@@ -58,7 +63,9 @@
       - lf-infra-create-netrc:
           server-id: logs
       - shell: !include-raw:
-          - ../shell/lftools-install.sh
+          # Ensure python-tools are installed in case job template does not
+          # call the lf-infra-pre-build macro.
+          - ../shell/python-tools-install.sh
           - ../shell/logs-deploy.sh
       - shell: !include-raw:
           - ../shell/logs-clear-credentials.sh
 - builder:
     name: lf-infra-packer-build
     builders:
+      - conditional-step:
+          condition-kind: boolean-expression
+          condition-expression: '{openstack}'
+          steps:
+            - config-file-provider:
+                files:
+                  - file-id: clouds-yaml
+                    target: '$HOME/.config/openstack/clouds.yaml'
+            - inject:
+                properties-content: OS_CLOUD={openstack-cloud}
       - config-file-provider:
           files:
             - file-id: '{packer-cloud-settings}'
             - file-id: '{settings-file}'
               variable: 'SETTINGS_FILE'
 
-- builder:
-    name: lf-provide-sigul-configuration
-    # Push configuration files to interact with sigul
-    builders:
-      - config-file-provider:
-          files:
-            - file-id: sigul-config
-              variable: SIGUL_CONFIG
-            - file-id: sigul-password
-              variable: SIGUL_PASSWORD
-            - file-id: sigul-pki
-              variable: SIGUL_PKI
-      - shell: !include-raw: ../shell/sigul-configuration.sh
-
 - builder:
     name: lf-pip-install
     builders:
           # DO NOT fail build if any of the above lines fail.
           exit 0
 
-- builder:
-    name: lf-provide-sigul-configuration-cleanup
-    # Clear sigul configuration files after we're done using them
-    builders:
-      - shell: !include-raw: ../shell/sigul-configuration-cleanup.sh
-
 - builder:
     name: lf-rtd-trigger-build
     builders:
     builders:
       - inject:
           properties-content: DOC_DIR={doc-dir}
-      - shell: !include-raw-escape:
-          - ../shell/tox-install.sh
-          - ../shell/rtd-verify.sh
+      - shell: !include-raw-escape: ../shell/tox-install.sh
+      - shell: !include-raw-escape: ../shell/rtd-verify.sh
 
 - builder:
-    name: lf-sigul-install
+    name: lf-sigul-sign-dir
     # Requires that Jenkins be configured with SIGUL_BRIDGE_IP as a global
     # Environment variable
     builders:
-      - shell: !include-raw: ../shell/sigul-install.sh
+      - conditional-step:
+          condition-kind: boolean-expression
+          condition-expression: '{sign-artifacts}'
+          steps:
+            - config-file-provider:
+                files:
+                  - file-id: sigul-config
+                    variable: SIGUL_CONFIG
+                  - file-id: sigul-password
+                    variable: SIGUL_PASSWORD
+                  - file-id: sigul-pki
+                    variable: SIGUL_PKI
+            - shell: !include-raw-escape: ../shell/sigul-configuration.sh
+            - shell: !include-raw-escape: ../shell/sigul-install.sh
+            - inject:
+                properties-content: SIGN_DIR={sign-dir}
+            - shell: !include-raw-escape:
+                - ../shell/common-variables.sh
+                - ../shell/sigul-sign-dir.sh
+            - shell: !include-raw-escape: ../shell/sigul-configuration-cleanup.sh
 
 - builder:
     name: lf-infra-provide-docker-cleanup
             - '**/*.jenkins-trigger'
           fail-build: false
 
+- publisher:
+    name: lf-stack-delete
+    publishers:
+      - postbuildscript:
+          builders:
+            - role: BOTH
+              build-on:
+                - ABORTED
+                - FAILURE
+                - SUCCESS
+                - UNSTABLE
+              build-steps:
+                - shell: |
+                    #!/bin/bash -l
+                    echo "Deleting $STACK_NAME"
+                    lftools openstack stack delete "$STACK_NAME"
+          mark-unstable-if-failed: false
+
 #######
 # SCM #
 #######
 ############
 
 - wrapper:
-    name: lf-infra-wrappers
+    name: lf-infra-wrappers-common
     wrappers:
       - mask-passwords
       - timeout:
           timeout-var: 'BUILD_TIMEOUT'
           fail: true
       - timestamps
-      - ssh-agent-credentials:
-          users:
-            - '{jenkins-ssh-credential}'
       - openstack:
           single-use: true
+
+- wrapper:
+    name: lf-infra-wrappers
+    wrappers:
+      - lf-infra-wrappers-common:
+          build-timeout: '{build-timeout}'
       - config-file-provider:
           files:
             - file-id: npmrc
               target: '$HOME/.npmrc'
             - file-id: pipconf
               target: '$HOME/.config/pip/pip.conf'
+      - ssh-agent-credentials:
+          users:
+            - '{jenkins-ssh-credential}'
+
+- wrapper:
+    name: lf-infra-wrappers-windows
+    wrappers:
+      - lf-infra-wrappers-common:
+          build-timeout: '{build-timeout}'