X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=devscripts%2Frelease.sh;h=d32ae47dd22d82be6567692e12ec0b31715f5e27;hb=964ac8b5840e8e9c3662d3963de3c5a77af3bd3a;hp=94f229f0e68af6a5f799a169ef6277666ce0dc59;hpb=09f9552b409abba063de011a879e9fa94bf6f027;p=youtube-dl diff --git a/devscripts/release.sh b/devscripts/release.sh index 94f229f0e..d32ae47dd 100755 --- a/devscripts/release.sh +++ b/devscripts/release.sh @@ -14,25 +14,35 @@ set -e +skip_tests=false +if [ "$1" = '--skip-test' ]; then + skip_tests=true + shift +fi + if [ -z "$1" ]; then echo "ERROR: specify version number like this: $0 1994.09.06"; exit 1; fi version="$1" if [ ! -z "`git tag | grep "$version"`" ]; then echo 'ERROR: version already present'; exit 1; fi if [ ! -z "`git status --porcelain | grep -v CHANGELOG`" ]; then echo 'ERROR: the working directory is not clean; commit or stash changes'; exit 1; fi if [ ! -f "updates_key.pem" ]; then echo 'ERROR: updates_key.pem missing'; exit 1; fi -echo "\n### First of all, testing..." -make clean -nosetests --with-coverage --cover-package=youtube_dl --cover-html test || exit 1 +/bin/echo -e "\n### First of all, testing..." +make cleanall +if $skip_tests ; then + echo 'SKIPPING TESTS' +else + nosetests --verbose --with-coverage --cover-package=youtube_dl --cover-html test --stop || exit 1 +fi -echo "\n### Changing version in version.py..." -sed -i~ "s/__version__ = '.*'/__version__ = '$version'/" youtube_dl/version.py +/bin/echo -e "\n### Changing version in version.py..." +sed -i "s/__version__ = '.*'/__version__ = '$version'/" youtube_dl/version.py -echo "\n### Committing CHANGELOG README.md and youtube_dl/version.py..." +/bin/echo -e "\n### Committing CHANGELOG README.md and youtube_dl/version.py..." make README.md git add CHANGELOG README.md youtube_dl/version.py git commit -m "release $version" -echo "\n### Now tagging, signing and pushing..." +/bin/echo -e "\n### Now tagging, signing and pushing..." git tag -s -m "Release $version" "$version" git show "$version" read -p "Is it good, can I push? (y/n) " -n 1 @@ -42,7 +52,7 @@ MASTER=$(git rev-parse --abbrev-ref HEAD) git push origin $MASTER:master git push origin "$version" -echo "\n### OK, now it is time to build the binaries..." +/bin/echo -e "\n### OK, now it is time to build the binaries..." REV=$(git rev-parse HEAD) make youtube-dl youtube-dl.tar.gz wget "http://jeromelaheurte.net:8142/download/rg3/youtube-dl/youtube-dl.exe?rev=$REV" -O youtube-dl.exe || \ @@ -57,19 +67,20 @@ RELEASE_FILES="youtube-dl youtube-dl.exe youtube-dl-$version.tar.gz" (cd build/$version/ && sha512sum $RELEASE_FILES > SHA2-512SUMS) git checkout HEAD -- youtube-dl youtube-dl.exe -echo "\n### Signing and uploading the new binaries to youtube-dl.org..." +/bin/echo -e "\n### Signing and uploading the new binaries to youtube-dl.org..." for f in $RELEASE_FILES; do gpg --detach-sig "build/$version/$f"; done scp -r "build/$version" ytdl@youtube-dl.org:html/downloads/ -echo "\n### Now switching to gh-pages..." +/bin/echo -e "\n### Now switching to gh-pages..." git clone --branch gh-pages --single-branch . build/gh-pages ROOT=$(pwd) ( set -e - cd build/gh-pages ORIGIN_URL=$(git config --get remote.origin.url) + cd build/gh-pages "$ROOT/devscripts/gh-pages/add-version.py" $version - "$ROOT/devscripts/gh-pages/sign-versions.py" < updates_key.pem + "$ROOT/devscripts/gh-pages/update-feed.py" + "$ROOT/devscripts/gh-pages/sign-versions.py" < "$ROOT/updates_key.pem" "$ROOT/devscripts/gh-pages/generate-download.py" "$ROOT/devscripts/gh-pages/update-copyright.py" git add *.html *.html.in update @@ -78,8 +89,14 @@ ROOT=$(pwd) read -p "Is it good, can I push? (y/n) " -n 1 if [[ ! $REPLY =~ ^[Yy]$ ]]; then exit 1; fi echo - git push $ORIGIN_URL gh-pages + git push "$ROOT" gh-pages + git push "$ORIGIN_URL" gh-pages ) -rm -r build +rm -rf build + +make pypi-files +echo "Uploading to PyPi ..." +python setup.py sdist upload +make clean -echo "\n### DONE!" +/bin/echo -e "\n### DONE!"