jjb: xci: xci-run-functest: Fix functest execution
[releng.git] / jjb / apex / apex-build.sh
1 #!/bin/bash
2 set -o errexit
3 set -o nounset
4 set -o pipefail
5 # log info to console
6 echo "Starting the build of Apex using OpenStack Master packages. This will take some time..."
7 echo "---------------------------------------------------------------------------------------"
8 echo
9 # create the cache directory if it doesn't exist
10 [[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY
11 # set OPNFV_ARTIFACT_VERSION
12 if echo $ARTIFACT_VERSION | grep "dev" 1> /dev/null; then
13   GERRIT_PATCHSET_NUMBER=$(echo $GERRIT_REFSPEC | grep -Eo '[0-9]+$')
14   export OPNFV_ARTIFACT_VERSION="dev${GERRIT_CHANGE_NUMBER}_${GERRIT_PATCHSET_NUMBER}"
15   export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY"
16 elif echo $BUILD_TAG | grep "csit" 1> /dev/null; then
17   export OPNFV_ARTIFACT_VERSION=csit${BUILD_NUMBER}
18   export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY"
19 elif [ "$ARTIFACT_VERSION" == "daily" ]; then
20   export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d")
21   export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --iso"
22 else
23   export OPNFV_ARTIFACT_VERSION=${ARTIFACT_VERSION}
24   export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --iso"
25 fi
26
27 # Temporary hack until we fix apex build script
28 BUILD_DIRECTORY=${WORKSPACE}/build
29
30 # start the build
31 pushd ${BUILD_DIRECTORY}
32 make clean
33 popd
34 export PYTHONPATH=${WORKSPACE}
35 python3 apex/build.py $BUILD_ARGS
36 RPM_VERSION=$(grep Version: $WORKSPACE/build/rpm_specs/opnfv-apex.spec | awk '{ print $2 }')-$(echo $OPNFV_ARTIFACT_VERSION | tr -d '_-')
37 # list the contents of BUILD_OUTPUT directory
38 echo "Build Directory is ${BUILD_DIRECTORY}/../.build"
39 echo "Build Directory Contents:"
40 echo "-------------------------"
41 ls -al ${BUILD_DIRECTORY}/../.build
42
43 # list the contents of CACHE directory
44 echo "Cache Directory is ${CACHE_DIRECTORY}"
45 echo "Cache Directory Contents:"
46 echo "-------------------------"
47 ls -al $CACHE_DIRECTORY
48
49 if [[ "$BUILD_ARGS" =~ '--iso' ]]; then
50   mkdir -p /tmp/apex-iso/
51   rm -f /tmp/apex-iso/*.iso
52   cp -f $BUILD_DIRECTORY/../.build/release/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso /tmp/apex-iso/
53 fi
54
55 if ! echo $ARTIFACT_VERSION | grep "dev" 1> /dev/null; then
56   echo "Writing opnfv.properties file"
57   # save information regarding artifact into file
58   (
59     echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION"
60     echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)"
61     echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)"
62     echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso"
63     echo "OPNFV_ARTIFACT_SHA512SUM=$(sha512sum $BUILD_DIRECTORY/../.build/release/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso | cut -d' ' -f1)"
64     echo "OPNFV_SRPM_URL=$GS_URL/opnfv-apex-$RPM_VERSION.src.rpm"
65     echo "OPNFV_RPM_URL=$GS_URL/opnfv-apex-$RPM_VERSION.noarch.rpm"
66     echo "OPNFV_RPM_SHA512SUM=$(sha512sum $BUILD_DIRECTORY/../.build/noarch/opnfv-apex-$RPM_VERSION.noarch.rpm | cut -d' ' -f1)"
67     echo "OPNFV_BUILD_URL=$BUILD_URL"
68   ) > $WORKSPACE/opnfv.properties
69 fi
70 echo "--------------------------------------------------------"
71 echo "Done!"