
The current run-docs script only moves the publishing location on tags or stable branches. This makes it so that master docs stay where they are, stable branches and tags have the current behavior, and anything else is placed in the branch name. This should affect milestone-proposed (which will be published to .../milestone-proposed/) and feature branches (.../feature/foo). Currently, these two cases are in a race with master -- last change wins. Change-Id: If1e09d31a7001255746ba1a91b641b95f42fcfbb Reviewed-on: https://review.openstack.org/31300 Reviewed-by: Clark Boylan <clark.boylan@gmail.com> Approved: James E. Blair <corvus@inaugust.com> Tested-by: Jenkins
91 lines
3.4 KiB
Bash
Executable File
91 lines
3.4 KiB
Bash
Executable File
#!/bin/bash -xe
|
|
|
|
# If a bundle file is present, call tox with the jenkins version of
|
|
# the test environment so it is used. Otherwise, use the normal
|
|
# (non-bundle) test environment. Also, run pip freeze on the
|
|
# resulting environment at the end so that we have a record of exactly
|
|
# what packages we ended up testing.
|
|
#
|
|
|
|
org=$1
|
|
project=$2
|
|
|
|
if [[ -z "$org" || -z "$project" ]]
|
|
then
|
|
echo "Usage: $0 ORG PROJECT"
|
|
echo
|
|
echo "ORG: The project organization (eg 'openstack')"
|
|
echo "PROJECT: The project name (eg 'nova')"
|
|
exit 1
|
|
fi
|
|
|
|
/usr/local/jenkins/slave_scripts/select-mirror.sh $org $project
|
|
|
|
venv=venv
|
|
|
|
mkdir -p doc/build
|
|
export HUDSON_PUBLISH_DOCS=1
|
|
tox -e$venv -- python setup.py build_sphinx
|
|
result=$?
|
|
|
|
if [ $ZUUL_REFNAME == "master" ] ; then
|
|
: # Leave the docs where they are.
|
|
elif `echo $ZUUL_REFNAME | grep refs/tags/ >/dev/null` ; then
|
|
# Put tagged releases in proper location. All tagged builds get copied to
|
|
# BUILD_DIR/tagname. If this is the latest tagged release the copy of files
|
|
# at BUILD_DIR remains. When Jenkins copies this file the root developer
|
|
# docs are always the latest release with older tags available under the
|
|
# root in the tagname dir.
|
|
TAG=`echo $ZUUL_REFNAME | sed 's/refs.tags.//'`
|
|
if [ ! -z $TAG ] ; then
|
|
if echo $ZUUL_PROJECT | grep 'python-.*client' ; then
|
|
# This is a hack to ignore the year.release tags in python-*client
|
|
# projects.
|
|
LATEST=`git tag | sed -n -e '/^2012\..*$/d' -e '/^\([0-9]\+\.\?\)\+$/p' | sort -n | tail -1`
|
|
else
|
|
# Take all tags of the form (number.)+, sort them, then take the
|
|
# largest
|
|
LATEST=`git tag | sed -n '/^\([0-9]\+\.\?\)\+$/p' | sort -n | tail -1`
|
|
fi
|
|
if [ "$TAG" = "$LATEST" ] ; then
|
|
# Copy the docs into a subdir if this is a tagged build
|
|
mkdir doc/build/$TAG
|
|
cp -R doc/build/html/* doc/build/$TAG
|
|
mv doc/build/$TAG doc/build/html/$TAG
|
|
else
|
|
# Move the docs into a subdir if this is a tagged build
|
|
mkdir doc/build/$TAG
|
|
mv doc/build/html/* doc/build/$TAG
|
|
mv doc/build/$TAG doc/build/html/$TAG
|
|
fi
|
|
fi
|
|
elif `echo $ZUUL_REFNAME | grep stable/ >/dev/null` ; then
|
|
# Put stable release changes in dir named after stable release under the
|
|
# build dir. When Jenkins copies these files they will be accessible under
|
|
# the developer docs root using the stable release's name.
|
|
BRANCH=`echo $ZUUL_REFNAME | sed 's/stable.//'`
|
|
if [ ! -z $BRANCH ] ; then
|
|
# Move the docs into a subdir if this is a stable branch build
|
|
mkdir doc/build/$BRANCH
|
|
mv doc/build/html/* doc/build/$BRANCH
|
|
mv doc/build/$BRANCH doc/build/html/$BRANCH
|
|
fi
|
|
else
|
|
# Put other branch changes in dir named after branch under the
|
|
# build dir. When Jenkins copies these files they will be
|
|
# accessible under the developer docs root using the branch name.
|
|
# EG: feature/foo or milestone-proposed
|
|
BRANCH=$ZUUL_REFNAME
|
|
mkdir doc/build/tmp
|
|
mv doc/build/html/* doc/build/tmp
|
|
mkdir -p doc/build/html/$BRANCH
|
|
mv doc/build/tmp/* doc/build/html/$BRANCH
|
|
fi
|
|
|
|
echo "Begin pip freeze output from test virtualenv:"
|
|
echo "======================================================================"
|
|
.tox/$venv/bin/pip freeze
|
|
echo "======================================================================"
|
|
|
|
exit $result
|