diff options
author | Samuel Mendoza-Jonas <sam@mendozajonas.com> | 2018-08-10 13:47:48 +1000 |
---|---|---|
committer | Samuel Mendoza-Jonas <sam@mendozajonas.com> | 2018-08-28 17:15:24 +1000 |
commit | 8d102aa511b8a8430f7759cdb965cb5eca8b3d83 (patch) | |
tree | 0c4dce8a1d887808ea21b76bd52188e6a7f7642a /ci | |
parent | 7f4c37d95c3aef7d61e621c84e5d6114b0cabdcf (diff) | |
download | talos-op-build-8d102aa511b8a8430f7759cdb965cb5eca8b3d83.tar.gz talos-op-build-8d102aa511b8a8430f7759cdb965cb5eca8b3d83.zip |
ci: Add release mode to build legal info
Add an option to build the Buildroot legal-info target after building a
platform. This is mainly useful as part of building platforms for
inclusion in images for distribution, but is also good for CI systems
doing a sanity check on what is being built.
This also updates build-all-defconfigs.sh to use getopt to handle its
inputs more sanely.
Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
Diffstat (limited to 'ci')
-rwxr-xr-x | ci/build-all-defconfigs.sh | 46 | ||||
-rwxr-xr-x | ci/build.sh | 8 |
2 files changed, 45 insertions, 9 deletions
diff --git a/ci/build-all-defconfigs.sh b/ci/build-all-defconfigs.sh index 61c3bbfe..839d30a5 100755 --- a/ci/build-all-defconfigs.sh +++ b/ci/build-all-defconfigs.sh @@ -3,22 +3,48 @@ set -ex set -eo pipefail +BUILD_INFO=0 CONFIGTAG="_defconfig" DEFCONFIGS=(); -if [ -z "$2" ]; then +while getopts "o:p:r" opt; do + case $opt in + o) + echo "Output directory: $OPTARG" + OUTDIR="$OPTARG" + ;; + p) + echo "Platforms to build: $OPTARG" + PLATFORM_LIST="$OPTARG" + ;; + r) + echo "Build legal-info for release" + BUILD_INFO=1 + ;; + \?) + echo "Invalid option: -$OPTARG" + exit 1 + ;; + :) + echo "Option -$OPTARG requires an argument." + exit 1 + ;; + esac +done + +if [ -z "${PLATFORM_LIST}" ]; then echo "Using all the defconfigs for all the platforms" DEFCONFIGS=`(cd openpower/configs; ls -1 *_defconfig)` else IFS=', ' - for p in $2; + for p in ${PLATFORM_LIST}; do DEFCONFIGS+=($p$CONFIGTAG) done fi -if [ -z "$1" or ! -d "$1" ]; then +if [ -z "${OUTDIR}" or ! -d "${OUTDIR}" ]; then echo "No output directory specified" exit 1; fi @@ -45,10 +71,16 @@ for i in ${DEFCONFIGS[@]}; do op-build olddefconfig op-build r=$? - mkdir $1/$i-images - mv output/images/* $1/$i-images/ - mv output/.config $1/$i-images/.config - lsb_release -a > $1/$i-images/lsb_release + + if [ ${BUILD_INFO} = 1 ] && [ $r = 0 ]; then + op-build legal-info + mv output/legal-info ${OUTDIR}/$i-legal-info + fi + + mkdir ${OUTDIR}/$i-images + mv output/images/* ${OUTDIR}/$i-images/ + mv output/.config ${OUTDIR}/$i-images/.config + lsb_release -a > ${OUTDIR}/$i-images/lsb_release if [ $r -ne 0 ]; then exit $r fi diff --git a/ci/build.sh b/ci/build.sh index 42914146..b313291e 100755 --- a/ci/build.sh +++ b/ci/build.sh @@ -2,7 +2,7 @@ CONTAINERS="ubuntu1604 fedora27" -while getopts ":ab:hp:c:" opt; do +while getopts ":ab:hp:c:r" opt; do case $opt in a) echo "Build firmware images for all the platforms" @@ -32,6 +32,10 @@ while getopts ":ab:hp:c:" opt; do echo -e "\tDOCKER_PREFIX=sudo ./ci/build.sh -p garrison,palmetto,openpower_p9_mambo" exit 1 ;; + r) + echo "Build for release" + release_args="-r" + ;; \?) echo "Invalid option: -$OPTARG" exit 1 @@ -107,7 +111,7 @@ EOF ) $DOCKER_PREFIX docker build --network=host -t openpower/op-build-$distro - <<< "${Dockerfile}" mkdir -p output-images/$distro - run_docker openpower/op-build-$distro "./ci/build-all-defconfigs.sh output-images/$distro $PLATFORMS" + run_docker openpower/op-build-$distro "./ci/build-all-defconfigs.sh -o output-images/$distro -p $PLATFORMS ${release_args}" if [ $? = 0 ]; then mv *-images output-$distro/ else |