project-config/jenkins/scripts/wheel-build.sh
Ian Wienand 57b9f21dd9 Error tracking and log save for wheel build
A few things

 - failing to get the requirements file should fail the job, so remove
   skip there.

 - go through the requirements one-by-one so we can make an easily
   greppable entry in the logs for failed builds.

 - turn off verbose to make the console log managable (it's up around
   15mb) but save detailed output to a workspace log-file for failures
   (see previous point).  Requires small fix to pip [1] for --log
   behaviour.

[1] https://github.com/pypa/pip/pull/3586

Change-Id: Ibc4abb0ba18673791634d79c4970be965f9774e6
2016-12-20 14:40:33 +11:00

21 lines
684 B
Bash
Executable File

#!/bin/bash -xe
# Working variables
WHEELHOUSE_DIR=$1
PROJECT=openstack/requirements
WORKING_DIR=`pwd`/$PROJECT
PYTHON_VERSION=$2
# Extract and iterate over all the branch names.
BRANCHES=`git --git-dir=$WORKING_DIR/.git branch -r | grep '^ origin/[^H]'`
for BRANCH in $BRANCHES; do
git --git-dir=$WORKING_DIR/.git show $BRANCH:upper-constraints.txt \
2>/dev/null > /tmp/upper-constraints.txt || true
rm -rf build_env
virtualenv -p $PYTHON_VERSION build_env
for pkg in $(cat /tmp/upper-constraints.txt); do
build_env/bin/pip --log $WORKSPACE/pip.log -w $WHEELHOUSE_DIR "${pkg}" || \
echo "*** WHEEL BUILD FAILURE: ${pkg}"
done
done