##// END OF EJS Templates
remove tools/github_stats.py (#14612)...
remove tools/github_stats.py (#14612) Also remove unused assets and utils.

File last commit:

r29011:9e32f8c1
r29012:0a0ac777 merge
Show More
release_helper.sh
237 lines | 6.1 KiB | application/x-sh | BashLexer
/ tools / release_helper.sh
Matthias Bussonnier
add release helper
r24981 # Simple tool to help for release
Samuel Gaist
Update release script to use git switch in place of checkout
r28436 # when releasing with bash, simple source it to get asked questions.
Matthias Bussonnier
add release helper
r24981
Matthias Bussonnier
Add stats and some early checks in release script
r25157 # misc check before starting
Matthias Bussonnier
update colors
r25179 BLACK=$(tput setaf 1)
Matthias Bussonnier
release 7.6.0
r25128 RED=$(tput setaf 1)
Matthias Bussonnier
update colors
r25179 GREEN=$(tput setaf 2)
YELLOW=$(tput setaf 3)
BLUE=$(tput setaf 4)
MAGENTA=$(tput setaf 5)
CYAN=$(tput setaf 6)
WHITE=$(tput setaf 7)
Matthias Bussonnier
release 7.6.0
r25128 NOR=$(tput sgr0)
Matthias Bussonnier
add release helper
r24981
Matthias Bussonnier
Misc release process update...
r28004 echo "Checking all tools are installed..."
python -c 'import keyring'
python -c 'import twine'
python -c 'import sphinx'
python -c 'import sphinx_rtd_theme'
python -c 'import pytest'
python -c 'import build'
# those are necessary fo building the docs
echo "Checking imports for docs"
python -c 'import numpy'
python -c 'import matplotlib'
Matthias Bussonnier
release script zsh compatibility
r27183 echo "Will use $BLUE'$EDITOR'$NOR to edit files when necessary"
M Bussonnier
What's new and update release tools
r28874 # echo -n "PREV_RELEASE (X.y.z) [$PREV_RELEASE]: "
# read input
# PREV_RELEASE=${input:-$PREV_RELEASE}
# echo -n "MILESTONE (X.y) [$MILESTONE]: "
# read input
# MILESTONE=${input:-$MILESTONE}
Matthias Bussonnier
some updates to the release scripts
r25282 echo -n "VERSION (X.y.z) [$VERSION]:"
read input
VERSION=${input:-$VERSION}
Jarrod Millman
Rename master to main
r27712 echo -n "BRANCH (main|X.y) [$BRANCH]:"
Matthias Bussonnier
some updates to the release scripts
r25282 read input
Matthias Bussonnier
back to dev, and tools updates
r25300 BRANCH=${input:-$BRANCH}
Matthias Bussonnier
some updates to the release scripts
r25282
ask_section(){
echo
Matthias Bussonnier
release script zsh compatibility
r27183 echo $BLUE"$1"$NOR
Matthias Bussonnier
reset color after asking or it stays green
r25411 echo -n $GREEN"Press Enter to continue, S to skip: "$NOR
Matthias Bussonnier
release script zsh compatibility
r27183 if [ "$ZSH_NAME" = "zsh" ] ; then
read -k1 value
value=${value%$'\n'}
else
read -n1 value
fi
if [ -z "$value" ] || [ $value = 'y' ]; then
Matthias Bussonnier
some updates to the release scripts
r25282 return 0
fi
return 1
}
Matthias Bussonnier
more updates to documentation aud automation
r24982
Matthias Bussonnier
Improvement to release script
r26558 maybe_edit(){
echo
Samuel Gaist
Update release script to use git switch in place of checkout
r28436 echo $BLUE"$1"$NOR
Matthias Bussonnier
release script zsh compatibility
r27183 echo -n $GREEN"Press ${BLUE}e$GREEN to Edit ${BLUE}$1$GREEN, any other keys to skip: "$NOR
if [ "$ZSH_NAME" = "zsh" ] ; then
read -k1 value
value=${value%$'\n'}
else
read -n1 value
fi
Samuel Gaist
Update release script to use git switch in place of checkout
r28436 echo
Matthias Bussonnier
Improvement to release script
r26558 if [ $value = 'e' ] ; then
Matthias Bussonnier
release script zsh compatibility
r27183 $=EDITOR $1
Matthias Bussonnier
Improvement to release script
r26558 fi
}
Matthias Bussonnier
add release helper
r24981
Samuel Gaist
Update release script to use git switch in place of checkout
r28436 echo
Dimitri Papadopoulos
Typos found by codespell
r26875 if ask_section "Updating what's new with information from docs/source/whatsnew/pr"
Matthias Bussonnier
some updates to the release scripts
r25282 then
python tools/update_whatsnew.py
echo
echo $BLUE"please move the contents of "docs/source/whatsnew/development.rst" to version-X.rst"$NOR
echo $GREEN"Press enter to continue"$NOR
read
fi
M Bussonnier
What's new and update release tools
r28874 # if ask_section "Generate API difference (using frapuccino)"
# then
# echo $BLUE"Checking out $PREV_RELEASE"$NOR
# git checkout tags/$PREV_RELEASE
# sleep 1
# echo $BLUE"Saving API to file $PREV_RELEASE"$NOR
# frappuccino IPython IPython.kernel IPython.lib IPython.qt IPython.lib.kernel IPython.html IPython.frontend IPython.external --save IPython-$PREV_RELEASE.json
# echo $BLUE"coming back to $BRANCH"$NOR
# git switch $BRANCH
# sleep 1
# echo $BLUE"comparing ..."$NOR
# frappuccino IPython IPython.kernel IPython.lib --compare IPython-$PREV_RELEASE.json
# echo $GREEN"Use the above guideline to write an API changelog ..."$NOR
# echo $GREEN"Press any keys to continue"$NOR
# read
# fi
Matthias Bussonnier
Add instruction to list the API changes....
r25776
Matthias Bussonnier
add release helper
r24981 echo "Cleaning repository"
git clean -xfdi
Matthias Bussonnier
release 7.8.0
r25182 echo $GREEN"please update version number in ${RED}IPython/core/release.py${NOR} , Do not commit yet – we'll do it later."$NOR
Matthias Bussonnier
try to auto comment ''/.dev
r25946 echo $GREEN"I tried ${RED}sed -i bkp -e '/Uncomment/s/^# //g' IPython/core/release.py${NOR}"
sed -i bkp -e '/Uncomment/s/^# //g' IPython/core/release.py
rm IPython/core/release.pybkp
Matthias Bussonnier
release script zsh compatibility
r27183 git diff | cat
Matthias Bussonnier
Improvement to release script
r26558 maybe_edit IPython/core/release.py
Matthias Bussonnier
add release helper
r24981
Matthias Bussonnier
release 7.8.0
r25182 echo $GREEN"Press enter to continue"$NOR
Matthias Bussonnier
add release helper
r24981 read
Matthias Bussonnier
more updates to documentation aud automation
r24982
Matthias Bussonnier
some sections
r25314 if ask_section "Build the documentation ?"
then
make html -C docs
Samuel Gaist
Update release script to use git switch in place of checkout
r28436 echo
Matthias Bussonnier
some sections
r25314 echo $GREEN"Check the docs, press enter to continue"$NOR
read
Matthias Bussonnier
more updates to documentation aud automation
r24982
Matthias Bussonnier
some sections
r25314 fi
Matthias Bussonnier
more updates to documentation aud automation
r24982
Matthias Bussonnier
a few typos
r25315 if ask_section "Should we commit, tag, push... etc ? "
Matthias Bussonnier
some sections
r25314 then
echo
Matthias Bussonnier
release 7.11.1
r25406 echo $BLUE"Let's commit : git commit -am \"release $VERSION\" -S"
Matthias Bussonnier
some sections
r25314 echo $GREEN"Press enter to commit"$NOR
read
git commit -am "release $VERSION" -S
Samuel Gaist
Update release script to use git switch in place of checkout
r28436
Matthias Bussonnier
some sections
r25314 echo
echo $BLUE"git push origin \$BRANCH ($BRANCH)?"$NOR
echo $GREEN"Make sure you can push"$NOR
echo $GREEN"Press enter to continue"$NOR
read
git push origin $BRANCH
Samuel Gaist
Update release script to use git switch in place of checkout
r28436
Matthias Bussonnier
some sections
r25314 echo
echo "Let's tag : git tag -am \"release $VERSION\" \"$VERSION\" -s"
echo $GREEN"Press enter to tag commit"$NOR
read
git tag -am "release $VERSION" "$VERSION" -s
Samuel Gaist
Update release script to use git switch in place of checkout
r28436
Matthias Bussonnier
some sections
r25314 echo
echo $BLUE"And push the tag: git push origin \$VERSION ?"$NOR
echo $GREEN"Press enter to continue"$NOR
read
git push origin $VERSION
Samuel Gaist
Update release script to use git switch in place of checkout
r28436
Matthias Bussonnier
some sections
r25314 echo $GREEN"please update version number and back to .dev in ${RED}IPython/core/release.py"
Matthias Bussonnier
try to auto comment ''/.dev
r25946 echo $GREEN"I tried ${RED}sed -i bkp -e '/Uncomment/s/^/# /g' IPython/core/release.py${NOR}"
sed -i bkp -e '/Uncomment/s/^/# /g' IPython/core/release.py
rm IPython/core/release.pybkp
Matthias Bussonnier
release script zsh compatibility
r27183 git diff | cat
Matthias Bussonnier
try to auto comment ''/.dev
r25946 echo $GREEN"Please bump ${RED}the minor version number${NOR}"
Matthias Bussonnier
Improvement to release script
r26558 maybe_edit IPython/core/release.py
Matthias Bussonnier
some sections
r25314 echo ${BLUE}"Do not commit yet – we'll do it later."$NOR
Matthias Bussonnier
try to auto comment ''/.dev
r25946
Samuel Gaist
Update release script to use git switch in place of checkout
r28436
Matthias Bussonnier
some sections
r25314 echo $GREEN"Press enter to continue"$NOR
read
Samuel Gaist
Update release script to use git switch in place of checkout
r28436
Matthias Bussonnier
some sections
r25314 echo
Matthias Bussonnier
some updates to release tool
r25404 echo "Let's commit : "$BLUE"git commit -am \"back to dev\""$NOR
Matthias Bussonnier
some sections
r25314 echo $GREEN"Press enter to commit"$NOR
read
Matthias Bussonnier
some updates to release tool
r25404 git commit -am "back to dev"
Matthias Bussonnier
some updates to release scripts
r25412
echo
echo $BLUE"git push origin \$BRANCH ($BRANCH)?"$NOR
echo $GREEN"Press enter to continue"$NOR
read
git push origin $BRANCH
Samuel Gaist
Update release script to use git switch in place of checkout
r28436
Matthias Bussonnier
some sections
r25314 echo
Matthias Bussonnier
Update release_helper.sh from git switch...
r28493 echo $BLUE"let's : git checkout tags/$VERSION"$NOR
Matthias Bussonnier
some sections
r25314 echo $GREEN"Press enter to continue"$NOR
read
Matthias Bussonnier
Update release_helper.sh from git switch...
r28493 git checkout tags/$VERSION
Matthias Bussonnier
some sections
r25314 fi
Matthias Bussonnier
back to dev, and tools updates
r25300
Matthias Bussonnier
some sections
r25314 if ask_section "Should we build and release ?"
then
Samuel Gaist
Update release script to use git switch in place of checkout
r28436
Matthias Bussonnier
Update the release process to attempt reproducible builds....
r25769 echo $BLUE"going to set SOURCE_DATE_EPOCH"$NOR
echo $BLUE'export SOURCE_DATE_EPOCH=$(git show -s --format=%ct HEAD)'$NOR
echo $GREEN"Press enter to continue"$NOR
read
export SOURCE_DATE_EPOCH=$(git show -s --format=%ct HEAD)
echo $BLUE"SOURCE_DATE_EPOCH set to $SOURCE_DATE_EPOCH"$NOR
echo $GREEN"Press enter to continue"$NOR
read
echo
echo $BLUE"Attempting to build package..."$NOR
M Bussonnier
Do not upload to archive.ipython.org anymore...
r28817 tools/build_release
Matthias Bussonnier
Update the release process to attempt reproducible builds....
r25769
echo $RED'$ shasum -a 256 dist/*'
shasum -a 256 dist/*
echo $NOR
echo $BLUE"We are going to rebuild, node the hash above, and compare them to the rebuild"$NOR
echo $GREEN"Press enter to continue"$NOR
read
Matthias Bussonnier
back to dev, and tools updates
r25300
Matthias Bussonnier
some sections
r25314 echo
echo $BLUE"Attempting to build package..."$NOR
Matthias Bussonnier
back to dev
r25275
M Bussonnier
Do not upload to archive.ipython.org anymore...
r28817 tools/build_release
Matthias Bussonnier
print the version on crash
r25284
Matthias Bussonnier
Update the release process to attempt reproducible builds....
r25769 echo $RED"Check the shasum for SOURCE_DATE_EPOCH=$SOURCE_DATE_EPOCH"
echo $RED'$ shasum -a 256 dist/*'
Matthias Bussonnier
some sections
r25314 shasum -a 256 dist/*
Matthias Bussonnier
some updates to release tool
r25404 echo $NOR
Matthias Bussonnier
release 7.6.0
r25128
Matthias Bussonnier
some sections
r25314 if ask_section "upload packages ?"
Samuel Gaist
Update release script to use git switch in place of checkout
r28436 then
M Bussonnier
Do not upload to archive.ipython.org anymore...
r28817 twine upload --verbose dist/*.tar.gz dist/*.whl
Matthias Bussonnier
some sections
r25314 fi
fi