summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Rozet <trozet@redhat.com>2016-06-03 17:19:23 -0400
committerTim Rozet <trozet@redhat.com>2016-06-04 21:28:16 -0400
commit3c11e9669b5559bc9b95192abf97b9613b5854d1 (patch)
tree80339cfd8ab6fad3994ec8a3e827cbbb6d9cb374
parente0f468ccf04c0a064b63788cc937f0f68096ff42 (diff)
Fixes build caching
JIRA: APEX-167 Change-Id: Ibb9d69eb4326911a5c62fc9f10b02ccf191a3046 Signed-off-by: Tim Rozet <trozet@redhat.com>
-rw-r--r--build/cache.sh15
-rwxr-xr-xbuild/overcloud-onos.sh4
-rwxr-xr-xci/build.sh22
3 files changed, 24 insertions, 17 deletions
diff --git a/build/cache.sh b/build/cache.sh
index 72d0a87f..a88ffce1 100644
--- a/build/cache.sh
+++ b/build/cache.sh
@@ -35,6 +35,7 @@ function curl_file {
# $1 = download url
function populate_cache {
+ local my_md5
cache_dir
# get the file name
@@ -42,15 +43,25 @@ function populate_cache {
# check if the cache file exists
# and if it has an md5 compare that
- echo "Checking cache file: $1"
+ echo "Checking cache file exists: ${filename}"
if [ ! -f $CACHE_DIR/${filename} ]; then
+ echo "Cache file: ${CACHE_DIR}/${filename} missing...will download..."
curl_file $1 $filename
else
+ echo "Cache file exists...comparing MD5 checksum"
remote_md5="$(curl -sf -L ${1}.md5 | awk {'print $1'})"
if [ -z "$remote_md5" ]; then
echo "Got empty MD5 from remote for $filename, skipping MD5 check"
- elif [ "$remote_md5" != "$(grep ${filename} $CACHE_DIR/.cache | awk {'print $1'})" ]; then
curl_file $1 $filename
+ else
+ my_md5=$(grep ${filename} $CACHE_DIR/.cache | awk {'print $1'})
+ if [ "$remote_md5" != "$my_md5" ]; then
+ echo "MD5 mismatch: Remote MD5 is ${remote_md5}, Cache file MD5 is ${my_md5}"
+ echo "Downloading $filename"
+ curl_file $1 $filename
+ else
+ echo "Will use cache for ${filename}"
+ fi
fi
fi
}
diff --git a/build/overcloud-onos.sh b/build/overcloud-onos.sh
index 070365d7..7922a54a 100755
--- a/build/overcloud-onos.sh
+++ b/build/overcloud-onos.sh
@@ -22,10 +22,6 @@ cp -f overcloud-full.qcow2 overcloud-full-onos_build.qcow2
rm -rf puppet-onos
git clone https://github.com/bobzhouHW/puppet-onos.git
populate_cache "$onos_release_uri/$onos_release_file"
-
-# download jdk, onos and maven dependancy packages.
-#for i in jdk-8u51-linux-x64.tar.gz onos-1.3.0.tar.gz repository.tar; do
-
tar --xform="s:puppet-onos/:onos/:" -czf puppet-onos.tar.gz puppet-onos
LIBGUESTFS_BACKEND=direct virt-customize --install "java-1.8.0-openjdk" \
diff --git a/ci/build.sh b/ci/build.sh
index e6870558..dec73760 100755
--- a/ci/build.sh
+++ b/ci/build.sh
@@ -99,20 +99,17 @@ if [ -n "$RELEASE" ]; then MAKE_ARGS+="RELEASE=$RELEASE "; fi
if [ -n "$CACHE_DEST" ]; then
echo "Retrieving Cache"
if [ -f $CACHE_DEST/${CACHE_NAME}.tgz ]; then
+ echo "Cache found at ${CACHE_DEST}/${CACHE_NAME}.tgz"
rm -rf $BUILD_BASE/$CACHE_DIR
- cp -f $CACHE_DEST/${CACHE_NAME}.tgz $BUILD_BASE/${CACHE_NAME}.tgz
- tar xzf $BUILD_BASE/${CACHE_NAME}.tgz
+ echo "Unpacking Cache to $BUILD_BASE"
+ tar -xvzf $CACHE_DEST/${CACHE_NAME}.tgz -C ${BUILD_BASE}
+ echo "Cache contents after unpack:"
+ ls -l $BUILD_BASE/$CACHE_DIR
elif [ ! -d $BUILD_BASE/$CACHE_DIR ]; then
mkdir $BUILD_BASE/$CACHE_DIR
fi
fi
-#create build_output for legacy functionality compatibility in jenkins
-if [[ ! -d ../build_output ]]; then
- rm -f ../build_output
- ln -s build/noarch/ ../build_output
-fi
-
# Conditionally execute RPM build checks if the specs change and target is not rpm or iso
if [[ "$MAKE_TARGETS" == "images" ]]; then
commit_file_list=$(git show --pretty="format:" --name-only)
@@ -158,9 +155,12 @@ echo "Build Complete"
# Build new Cache
if [ -n "$CACHE_DEST" ]; then
echo "Building Cache"
- tar --atime-preserve --dereference -C $BUILD_BASE -caf $BUILD_BASE/${CACHE_NAME}.tgz $CACHE_DIR
- echo "Copying Cache"
if [ ! -d $CACHE_DEST ]; then mkdir -p $CACHE_DEST; fi
- cp $BUILD_BASE/${CACHE_NAME}.tgz $CACHE_DEST/${CACHE_NAME}.tgz
+ tar --atime-preserve --dereference -C $BUILD_BASE -caf $BUILD_BASE/${CACHE_NAME}.tgz $CACHE_DIR -C ${CACHE_DEST}/
+ if [ -f "${CACHE_DEST}/${CACHE_NAME}.tgz" ]; then
+ echo "Cache Build Complete"
+ else
+ echo "WARN: Cache file did not build correctly"
+ fi
fi
echo "Complete"