Add a swap file to build machines
[releng/builder.git] / jjb / autorelease / autorelease-macros.yaml
index d23761bf092badd6b6e1ad715be76e6f8380bb42..e8d9cae84d79ca9df2a1cade8b7b30806c1e12fa 100644 (file)
@@ -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:
@@ -55,7 +58,8 @@
           PYTHON="$WORKSPACE/venv/bin/python"
           $PYTHON -m pip install --upgrade pip
           $PYTHON -m pip install --upgrade networkx
-          $PYTHON -m pip freeze
+          $PYTHON -m pip install --upgrade pipdeptree
+          pipdeptree
           ./scripts/determine-merge-order.py
           deactivate
           rm -rf $WORKSPACE/venv
           # DO NOT fail the build if copying failed.
           exit 0
 
+- builder:
+    name: autorelease-generate-artifact-versions
+    # Generate versions.csv containing version of all mvn artifacts in this build.
+    builders:
+      - shell: |
+          #!/bin/bash
+          set -eu -o pipefail
+          ./scripts/generate-artifact-versions.sh
+          mkdir -p "$WORKSPACE/archives"
+          mv versions.csv "$WORKSPACE/archives"
+
 - builder:
     name: autorelease-generate-release-patches
     builders:
 - 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-validate-projects
+    builders:
+      - shell: !include-raw-escape: update-validate-autorelease-projects.sh
 
 - publisher:
     # Search console log for failures and email status to the release mailing list.