summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorManuel Desbonnet <manuel.desbonnet@hp.com>2012-09-26 12:56:29 +0100
committerJenkins <jenkins@review.openstack.org>2012-10-30 16:32:39 +0000
commit211cd36318cbef5da2fa09baece8572682bd6953 (patch)
tree40ecfb6ea52fce910980cddd943cd14948764f64 /tools
parent8860e647a0c7c64c7f5bab9e23fee19541a584d1 (diff)
downloadpython-jenkins-job-builder-211cd36318cbef5da2fa09baece8572682bd6953.tar.gz
python-jenkins-job-builder-211cd36318cbef5da2fa09baece8572682bd6953.tar.xz
python-jenkins-job-builder-211cd36318cbef5da2fa09baece8572682bd6953.zip
Do not output XML if job name not specified ('pipeline', 'trigger-builds')
Done in order to enable specifying build pipelines at the project level. Pipelines are built using the 'pipeline' plugin or the 'trigger-builds' plugin. The downstream job to be executed is specified at the project level, and substituted into the template. Ignoring definitions where the downstream job is blank allows the pipeline to be easily terminated. Also adding a samples/ directory, which currently contains an example of pipeline creation, together with a new tools/run-compare-xml-samples.sh to run the before/after test on the samples. Change-Id: Icc324d1485e22db7824ad784890db48eb3e48f8f Reviewed-on: https://review.openstack.org/13706 Reviewed-by: James E. Blair <corvus@inaugust.com> Reviewed-by: Clark Boylan <clark.boylan@gmail.com> Reviewed-by: Jeremy Stanley <fungi@yuggoth.org> Approved: James E. Blair <corvus@inaugust.com> Tested-by: Jenkins
Diffstat (limited to 'tools')
-rwxr-xr-xtools/run-compare-xml-samples.sh62
1 files changed, 62 insertions, 0 deletions
diff --git a/tools/run-compare-xml-samples.sh b/tools/run-compare-xml-samples.sh
new file mode 100755
index 00000000..eacd30b5
--- /dev/null
+++ b/tools/run-compare-xml-samples.sh
@@ -0,0 +1,62 @@
+#!/bin/bash -e
+
+# Copied and modified from tools/run-compare-xml.sh
+
+# Copyright (c) 2012, AT&T Labs, Yun Mao <yunmao@gmail.com>
+# All Rights Reserved.
+# Copyright 2012 Hewlett-Packard Development Company, L.P.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+# Assuming that all samples can be sensibly run at the same time.
+
+rm -fr .test
+mkdir -p .test/old/config
+mkdir -p .test/old/out
+mkdir -p .test/new/config
+mkdir -p .test/new/out
+cp samples/*.yaml .test/old/config
+cp .test/old/config/* .test/new/config
+
+GITHEAD=`git rev-parse HEAD`
+
+# First generate output from HEAD~1
+git checkout HEAD~1
+tox -e compare-xml-old
+
+# Then use that as a reference to compare against HEAD
+git checkout $GITHEAD
+tox -e compare-xml-new
+
+CHANGED=0
+for x in `(cd .test/old/out && find -type f)`
+do
+ if ! diff -u .test/old/out/$x .test/new/out/$x >/dev/null 2>&1
+ then
+ CHANGED=1
+ echo "============================================================"
+ echo $x
+ echo "------------------------------------------------------------"
+ fi
+ diff -u .test/old/out/$x .test/new/out/$x || /bin/true
+done
+
+echo
+echo "You are in detached HEAD mode. If you are a developer"
+echo "and not very familiar with git, you might want to do"
+echo "'git checkout branch-name' to go back to your branch."
+
+if [ "$CHANGED" -eq "1" ]; then
+ exit 1
+fi
+exit 0