Merge "Resouce optimize packer verify job to single instance"
[releng/builder.git] / jjb / releng-macros.yaml
index 91e7fe9eccf08a8391f6e85a96369208e3801e51..a6420e68153fb2e15775050379ed4a0bef36f55b 100644 (file)
                   variable: 'CLOUDENV'
         - shell: |
             cd packer
-            export PACKER_LOG="yes" && \
-            export PACKER_LOG_PATH="packer-validate.log" && \
-                        packer.io validate -var-file=$CLOUDENV \
-                         -var-file=../packer/vars/{platform}.json \
-                         ../packer/templates/{template}.json
+            varfiles="../packer/vars/*"
+            templates="../packer/templates/*"
+            provision="../packer/provision/*.sh"
+            for v in $varfiles; do
+                [[ "${{v##*/}}" =~ ^(cloud-env.*)$ ]] && continue
+                for t in $templates; do
+                    export PACKER_LOG="yes" && \
+                    export PACKER_LOG_PATH="packer-validate-${{v##*/}}-${{t##*/}}.log" && \
+                                packer.io validate -var-file=$CLOUDENV \
+                                -var-file=$v $t
+                    if [ $? -ne 0 ]; then
+                        break
+                    fi
+                done
+            done
+            for p in $provision; do
+                /bin/bash -n $p > provision-validate-${{p##*/}}.log 2>&1
+            done
 
 - builder:
     name: packer-build