Deploy job needs armband project for deploy
[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   if [ "$BRANCH" == 'master' ]; then
22     export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY"
23   else
24     export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --iso"
25   fi
26 else
27   export OPNFV_ARTIFACT_VERSION=${ARTIFACT_VERSION}
28   if [ "$BRANCH" == 'master' ]; then
29     export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY"
30   else
31     export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --iso"
32   fi
33 fi
34
35 # Temporary hack until we fix apex build script
36 BUILD_DIRECTORY=${WORKSPACE}/build
37
38 # start the build
39 pushd ${BUILD_DIRECTORY}
40 make clean
41 popd
42 export PYTHONPATH=${WORKSPACE}
43 python3 apex/build.py $BUILD_ARGS
44 RPM_VERSION=$(grep Version: $WORKSPACE/build/rpm_specs/opnfv-apex.spec | awk '{ print $2 }')-$(echo $OPNFV_ARTIFACT_VERSION | tr -d '_-')
45 # list the contents of BUILD_OUTPUT directory
46 echo "Build Directory is ${BUILD_DIRECTORY}/../.build"
47 echo "Build Directory Contents:"
48 echo "-------------------------"
49 ls -al ${BUILD_DIRECTORY}/../.build
50
51 # list the contents of CACHE directory
52 echo "Cache Directory is ${CACHE_DIRECTORY}"
53 echo "Cache Directory Contents:"
54 echo "-------------------------"
55 ls -al $CACHE_DIRECTORY
56
57 if [[ "$BUILD_ARGS" =~ '--iso' && "$BRANCH" != 'master' ]]; then
58   mkdir -p /tmp/apex-iso/
59   rm -f /tmp/apex-iso/*.iso
60   cp -f $BUILD_DIRECTORY/../.build/release/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso /tmp/apex-iso/
61 fi
62
63 if ! echo $ARTIFACT_VERSION | grep "dev" 1> /dev/null; then
64   echo "Writing opnfv.properties file"
65   if [ "$BRANCH" != master ]; then
66     # save information regarding artifact into file
67     (
68       echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION"
69       echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)"
70       echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)"
71       echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso"
72       echo "OPNFV_ARTIFACT_SHA512SUM=$(sha512sum $BUILD_DIRECTORY/../.build/release/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso | cut -d' ' -f1)"
73       echo "OPNFV_SRPM_URL=$GS_URL/opnfv-apex-$RPM_VERSION.src.rpm"
74       echo "OPNFV_RPM_URL=$GS_URL/opnfv-apex-$RPM_VERSION.noarch.rpm"
75       echo "OPNFV_RPM_SHA512SUM=$(sha512sum $BUILD_DIRECTORY/../.build/noarch/opnfv-apex-$RPM_VERSION.noarch.rpm | cut -d' ' -f1)"
76       echo "OPNFV_BUILD_URL=$BUILD_URL"
77     ) > $WORKSPACE/opnfv.properties
78   else
79     # save information regarding artifact into file
80     # we only generate the python package for master
81     (
82       echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION"
83       echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)"
84       echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)"
85       echo "OPNFV_SRPM_URL=$GS_URL/python34-opnfv-apex-$RPM_VERSION.src.rpm"
86       echo "OPNFV_RPM_URL=$GS_URL/python34-opnfv-apex-$RPM_VERSION.noarch.rpm"
87       echo "OPNFV_RPM_SHA512SUM=$(sha512sum $BUILD_DIRECTORY/../.build/noarch/python34-opnfv-apex-$RPM_VERSION.noarch.rpm | cut -d' ' -f1)"
88       echo "OPNFV_BUILD_URL=$BUILD_URL"
89     ) > $WORKSPACE/opnfv.properties
90   fi
91 fi
92 echo "--------------------------------------------------------"
93 echo "Done!"