system-config/modules/jenkins_slave/files/slave_scripts/create-tarball.sh
Monty Taylor 17b2bda1a0 Added slave scripts to puppet.
Added all of the files from slave_scripts to jenkins_slave.
Includes the changes I submitted in https://review.openstack.org/6063
Changed the jobs to use these rather than the ones from openstack-ci.

Change-Id: I4bd9e78b3d9c0cbbc6a0b17fc95c60458b06a0f7
2012-04-02 13:52:57 -07:00

85 lines
2.4 KiB
Bash
Executable File

#!/bin/bash -xe
# In case we start doing something more sophisticated with other refs
# later (such as tags).
BRANCH=$GERRIT_REFNAME
if [ $BRANCH == "milestone-proposed" ]
then
REVNOPREFIX="r"
fi
if [[ $BRANCH =~ ^stable/.*$ ]]
then
NOMILESTONE="true"
fi
# Should be ~ if tarball version is the one we're working *toward*. (By far preferred!)
# Should be + if tarball version is already released and we're moving forward after it.
SEPARATOR=${SEPARATOR:-'~'}
if [ -z "$PROJECT" ]
then
echo '$PROJECT not set.'
exit 1
fi
find_next_version() {
datestamp="${datestamp:-$(date +%Y%m%d)}"
git fetch origin +refs/meta/*:refs/remotes/meta/*
milestonever="$(git show meta/openstack/release:${BRANCH})"
if [ $? != 0 ]
then
if [ "$NOMILESTONE" = "true" ]
then
milestonever=""
else
echo "Milestone file ${BRANCH} not found. Bailing out." >&2
exit 1
fi
fi
version="$milestonever"
if [ -n "$version" ]
then
version="${version}~"
fi
revno="${revno:-$(git log --oneline | wc -l)}"
version="$(printf %s%s.%s%d "$version" "$datestamp" "$REVNOPREFIX" "$revno")"
printf "%s" "$version"
}
snapshotversion=$(find_next_version)
rm -f dist/*.tar.gz
if [ -f setup.py ] ; then
# Try tox and cached bundles first
if [ -e ".cache.bundle" ] ; then
if [ -f tox.ini ] ; then
if tox --showconfig | grep testenv | grep jenkinsvenv >/dev/null 2>&1
then
tox -ejenkinsvenv python setup.py sdist
else
tox -evenv python setup.py sdist
fi
else
rm -rf .venv
mv .cache.bundle .cache.pybundle
virtualenv --no-site-packages .venv
.venv/bin/pip install .cache.pybundle
rm .cache.pybundle
tools/with_venv.sh python setup.py sdist
fi
# Try old style venv's second
elif [ -d .venv -a -f tools/with_venv.sh ] ; then
tools/with_venv.sh python setup.py sdist
# Last but not least, just make a tarball
else
python setup.py sdist
fi
# There should only be one, so this should be safe.
tarball=$(echo dist/*.tar.gz)
echo mv "$tarball" "dist/$(basename $tarball .tar.gz)${SEPARATOR}${snapshotversion}.tar.gz"
mv "$tarball" "dist/$(basename $tarball .tar.gz)${SEPARATOR}${snapshotversion}.tar.gz"
fi