Merge "Fix SC2059 for ShellCheck 0.4.4, printf formatting"
[releng/builder.git] / jjb / autorelease / autorelease-macros.yaml
index b868d9c868d46dbc73a8b544148ed95c4c818e80..e66dc54b666d246aed896307430c97457daf16f5 100644 (file)
@@ -20,7 +20,7 @@
     name: autorelease-checkout-gerrit-patch
     builders:
       - shell: |
-          #!/bin/bash
+          #!/bin/bash -l
           set -eu -o pipefail
 
           # If the project is autorelease then we do not need to cd
@@ -34,6 +34,9 @@
           # If the project is autorelease then we need to init and update submodules
           if [ "$GERRIT_PROJECT" == "releng/autorelease" ]; then
               git submodule update --init
+              # The previous checkout might have failed to remove directory of a submodule being removed.
+              # See https://stackoverflow.com/a/10761699
+              git clean -dff
           fi
 
 - builder:
     name: autorelease-determine-merge-order
     builders:
       - shell: |
+          #!/bin/bash -l
           virtualenv --system-site-packages $WORKSPACE/venv
           source $WORKSPACE/venv/bin/activate
           PYTHON="$WORKSPACE/venv/bin/python"
-          $PYTHON -m pip install --upgrade pip
           $PYTHON -m pip install --upgrade networkx
           $PYTHON -m pip freeze
           ./scripts/determine-merge-order.py
           settings-type: cfp
           global-settings: '{global-settings}'
           global-settings-type: cfp
-
-- builder:
-    name: autorelease-maven-sources-post-process
-    builders:
       - shell: |
           awk '/The following files have NOT been resolved:/,/^$/' sources.log > missing-sources.log
 
@@ -95,7 +94,7 @@
     builders:
       - integration-set-variables
       - shell: |
-          #!/bin/bash
+          #!/bin/bash -l
           set +e  # DO NOT fail build if copying fails.
 
           cp -vf "$WORKSPACE/archives/patches/taglist.log" \
     # Generate versions.csv containing version of all mvn artifacts in this build.
     builders:
       - shell: |
-          #!/bin/bash
+          #!/bin/bash -l
           set -eu -o pipefail
           ./scripts/generate-artifact-versions.sh
           mkdir -p "$WORKSPACE/archives"
     name: autorelease-generate-release-patches
     builders:
       - shell: !include-raw:
-          - ../global-jjb/shell/lftools-install.sh
           - prepare-release.sh
 
 - builder:
 - builder:
     name: autorelease-generate-release-notes
     builders:
-      - shell: |
-          cd $WORKSPACE/scripts/release_notes_management
-          java -jar target/autonotes.jar
-          if [ -f  "$WORKSPACE/scripts/release_notes_management/projects/release-notes.rst" ]; then
-              mkdir -p $WORKSPACE/archives
-              cp -vf "$WORKSPACE/scripts/release_notes_management/projects/release-notes.rst" "$WORKSPACE/archives"
-          fi
+      - shell: !include-raw:
+          - generate-release-notes.sh
+
+- builder:
+    name: autorelease-update-project-views
+    builders:
+      - shell: !include-raw: update-autorelease-projects-views.sh
+
+- builder:
+    name: autorelease-update-validate-projects
+    builders:
+      - shell: !include-raw: update-validate-autorelease-projects.sh
+
+- builder:
+    name: autorelease-compare-projects
+    builders:
+      - shell: !include-raw: compare-autorelease-projects.sh
 
 - publisher:
     # Search console log for failures and email status to the release mailing list.
     publishers:
       - postbuildscript:
           builders:
-            - shell: !include-raw: notify-build-failure.sh
-          script-only-if-succeeded: false
-          script-only-if-failed: true
+            - role: BOTH
+              build-on:
+                - ABORTED
+                - FAILURE
+                - NOT_BUILT
+                - SUCCESS
+                - UNSTABLE
+              build-steps:
+                - shell: !include-raw: notify-build-failure.sh
+          mark-unstable-if-failed: true