Merge "Remove netide carbon jobs"
[releng/builder.git] / jjb / releng-macros.yaml
index 485a4ec3d24bf092f5819f04f7c7600eea31190c..f57959410608274c5f4200b4d047b899e9958e52 100644 (file)
           name: PATCHES_TO_BUILD
           default: ''
           description: |
-            Patches to add to distro in CSV project:changeset format (genius:32/53632/9,netvirt:59/50259/47)
+              Ordered list of patches to build in the format of project=changeset (checkout) or
+              project:changeset (cherry-pick) for example: genius=32/53632/9,netvirt:59/50259/47
 
 - parameter:
     name: run-test-parameter
     parameters:
       - string:
-          name: RUNTEST
+          name: RUN_TEST
           default: '{run-test}'
           description: 'Set true to run test after build'
 
+- parameter:
+    name: build-fast-parameter
+    parameters:
+      - string:
+          name: BUILD_FAST
+          default: '{build-fast}'
+          description: 'Set true to build fast -Pq'
+
 - parameter:
     name: distribution-branch-to-build-parameter
     parameters:
 # Only 'recheck' trigger word is supported, it always triggers the full set of relevant jobs,
 # in order to prevent Jenkins from starting only a subset and still voting Verified+1.
 # Arguments:
-#     server: name of gerrit server to listen to
+#     gerrit-server-name: name of gerrit server to listen to
 #     project: pattern to match triggering projects
 #     branch: triggering branch name
 #     files: pattern to match triggering filepaths
     name: gerrit-trigger-patch-submitted
     triggers:
       - gerrit:
-          server-name: '{server}'
+          server-name: '{gerrit-server-name}'
           trigger-on:
             - patchset-created-event:
                 exclude-drafts: true
                 exclude-no-code-change: false
             - draft-published-event
             - comment-added-contains-event:
-                comment-contains-value: recheck
+                comment-contains-value: 'recheck$'
           projects:
             - project-compare-type: ANT
               project-pattern: '{project}'
     name: gerrit-trigger-patch-merged
     triggers:
       - gerrit:
-          server-name: '{server-name}'
+          server-name: '{gerrit-server-name}'
           trigger-on:
             - change-merged-event
             - comment-added-contains-event:
-                comment-contains-value: 'remerge'
+                comment-contains-value: 'remerge$'
           projects:
             - project-compare-type: 'ANT'
               project-pattern: '{name}'
     name: gerrit-trigger-patch-sonar
     triggers:
       - gerrit:
-          server-name: '{server-name}'
+          server-name: '{gerrit-server-name}'
           trigger-on:
             - comment-added-contains-event:
                 comment-contains-value: 'run-sonar'
           send-to:
             - recipients
 
-- publisher:
-    name: 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
+
+- builder:
+    # Installs the openstack cli into a virtualenv at /tmp/v/openstack
+    name: odl-openstack-install
+    builders:
+      - shell: !include-raw: odl-openstack-install.sh
+
+- builder:
+    name: odl-openstack-check-image-protection
+    builders:
+      - shell: !include-raw: odl-openstack-check-image-protection.sh
+
+- builder:
+    name: odl-openstack-cleanup-old-images
+    builders:
+      - shell: !include-raw: odl-openstack-cleanup-old-images.sh
+
+- builder:
+    name: odl-openstack-cleanup-orphaned-nodes
+    builders:
+      - shell: !include-raw: odl-openstack-cleanup-orphaned-nodes.sh
+
+- builder:
+    name: odl-openstack-cleanup-stale-nodes
+    builders:
+      - shell: !include-raw: odl-openstack-cleanup-stale-nodes.sh
+
+- builder:
+    name: odl-openstack-cleanup-stale-stacks
+    builders:
+      - shell: !include-raw: odl-openstack-cleanup-stale-stacks.sh
+
+- builder:
+    name: odl-openstack-cleanup-stale-volumes
+    builders:
+      - shell: !include-raw: odl-openstack-cleanup-stale-volumes.sh
 
 - builder:
     # Deploys a maven site to Nexus using lftools nexus-zip command
                 settings: '{settings}'
                 global-settings: '{global-settings}'
 
+- publisher:
+    name: releng-openstack-stack-delete
+    publishers:
+      - postbuildscript:
+          builders:
+            - role: BOTH
+              build-on:
+                - ABORTED
+                - FAILURE
+                - SUCCESS
+                - UNSTABLE
+              build-steps:
+                - shell: |
+                    #!/bin/bash
+                    echo "Deleting $STACK_NAME"
+                    source "/tmp/v/openstack/bin/activate"
+                    openstack stack delete --yes "$STACK_NAME"
+          mark-unstable-if-failed: false
+
 - builder:
     name: releng-stage-release
     builders:
           files:
             - file-id: npmrc
               target: '$HOME/.npmrc'
-            - file-id: rackspace-heat
+            - file-id: pipconf
+              target: '$HOME/.config/pip/pip.conf'
+            - file-id: clouds-yaml
               target: '$HOME/.config/openstack/clouds.yaml'
       - timeout:
           type: absolute
       - openstack:
           single-use: true
 
-- builder:
-    # TODO: Verify signature after downloading users public key from a locally created
-    # repository instead of the public keymesh. This requires a process in place to get ODL
-    # developers public keys into a local repository without increasing the job thoughput.
-    name: verify-gpg-signature
-    builders:
-      - shell: !include-raw: verify-gpg-signatures.sh
-
-- builder:
-    name: opendaylight-infra-jjbini
-    builders:
-      - config-file-provider:
-          files:
-            - file-id: 'jjbini'
-              target: '$HOME/.config/jenkins_jobs/jenkins_jobs.ini'
-
 - publisher:
     name: opendaylight-infra-generate-csit-status-report
     publishers:
       - postbuildscript:
           builders:
-            - shell: !include-raw: generate-csit-status-report.sh
-          script-only-if-succeeded: false
-          script-only-if-failed: false
-          mark-unstable-if-failed: false
+            - role: BOTH
+              build-on:
+                - ABORTED
+                - FAILURE
+                - NOT_BUILT
+                - SUCCESS
+                - UNSTABLE
+              build-steps:
+                - shell: !include-raw: generate-csit-status-report.sh
+          mark-unstable-if-failed: true