mirror of
https://github.com/certbot/certbot.git
synced 2026-06-08 16:22:18 -04:00
Merge pull request #1011 from kuba/release
Fix dev release script: don't install from PyPI in tests
This commit is contained in:
commit
84c54e516b
1 changed files with 22 additions and 8 deletions
|
|
@ -10,8 +10,8 @@ RELEASE_GPG_KEY="${RELEASE_GPG_KEY:-148C30F6F7E429337A72D992B00B9CC82D7ADF2C}"
|
|||
PORT=${PORT:-1234}
|
||||
|
||||
# subpackages to be released
|
||||
SUBPKGS=${SUBPKGS:-"acme letsencrypt_apache letsencrypt_nginx letshelp_letsencrypt"}
|
||||
subpkgs_dirs="$(echo $SUBPKGS | sed s/_/-/g)"
|
||||
SUBPKGS=${SUBPKGS:-"acme letsencrypt-apache letsencrypt-nginx letshelp-letsencrypt"}
|
||||
subpkgs_modules="$(echo $SUBPKGS | sed s/-/_/g)"
|
||||
# letsencrypt_compatibility_test is not packaged because:
|
||||
# - it is not meant to be used by anyone else than Let's Encrypt devs
|
||||
# - it causes problems when running nosetests - the latter tries to
|
||||
|
|
@ -22,14 +22,27 @@ tag="v$version"
|
|||
mv "dist.$version" "dist.$version.$(date +%s).bak" || true
|
||||
git tag --delete "$tag" || true
|
||||
|
||||
tmpvenv=$(mktemp -d)
|
||||
virtualenv --no-site-packages $tmpvenv
|
||||
. $tmpvenv/bin/activate
|
||||
# update setuptools/pip just like in other places in the repo
|
||||
pip install -U setuptools
|
||||
pip install -U pip # latest pip => no --pre for dev releases
|
||||
pip install -U wheel # setup.py bdist_wheel
|
||||
|
||||
# newer versions of virtualenv inherit setuptools/pip/wheel versions
|
||||
# from current env when creating a child env
|
||||
pip install -U virtualenv
|
||||
|
||||
root="$(mktemp -d -t le.$version.XXX)"
|
||||
echo "Cloning into fresh copy at $root" # clean repo = no artificats
|
||||
git clone . $root
|
||||
git rev-parse HEAD
|
||||
cd $root
|
||||
git branch -f "$DEV_RELEASE_BRANCH"
|
||||
git checkout "$DEV_RELEASE_BRANCH"
|
||||
|
||||
for pkg_dir in $subpkgs_dirs
|
||||
for pkg_dir in $SUBPKGS
|
||||
do
|
||||
sed -i $x "s/^version.*/version = '$version'/" $pkg_dir/setup.py
|
||||
done
|
||||
|
|
@ -41,7 +54,7 @@ git tag --local-user "$RELEASE_GPG_KEY" \
|
|||
--sign --message "Release $version" "$tag"
|
||||
|
||||
echo "Preparing sdists and wheels"
|
||||
for pkg_dir in . $subpkgs_dirs
|
||||
for pkg_dir in . $SUBPKGS
|
||||
do
|
||||
cd $pkg_dir
|
||||
|
||||
|
|
@ -61,7 +74,7 @@ done
|
|||
|
||||
mkdir "dist.$version"
|
||||
mv dist "dist.$version/letsencrypt"
|
||||
for pkg_dir in $subpkgs_dirs
|
||||
for pkg_dir in $SUBPKGS
|
||||
do
|
||||
mv $pkg_dir/dist "dist.$version/$pkg_dir/"
|
||||
done
|
||||
|
|
@ -74,9 +87,10 @@ python -m SimpleHTTPServer $PORT &
|
|||
# installed from local PyPI rather than current directory (repo root)
|
||||
virtualenv --no-site-packages ../venv
|
||||
. ../venv/bin/activate
|
||||
# Now, use our local PyPI. --pre allows installation of pre-release (incl. dev)
|
||||
pip install -U setuptools
|
||||
pip install -U pip
|
||||
# Now, use our local PyPI
|
||||
pip install \
|
||||
--pre \
|
||||
--extra-index-url http://localhost:$PORT \
|
||||
letsencrypt $SUBPKGS
|
||||
# stop local PyPI
|
||||
|
|
@ -88,7 +102,7 @@ mkdir ../kgs
|
|||
kgs="../kgs/$version"
|
||||
pip freeze | tee $kgs
|
||||
pip install nose
|
||||
nosetests letsencrypt $SUBPKGS
|
||||
nosetests letsencrypt $subpkgs_modules
|
||||
|
||||
echo "New root: $root"
|
||||
echo "KGS is at $root/kgs"
|
||||
|
|
|
|||
Loading…
Reference in a new issue