Created
June 24, 2013 18:00
-
-
Save kini/5852091 to your computer and use it in GitHub Desktop.
shell log for releasing sagenb 0.10.7 (for @novoselt)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### Do the version bump in the repository | |
cd ~/src/sagenb/ | |
git remote update # sync with github | |
git checkout master | |
git pull --ff-only # this branch is set to track upstream/master | |
# edit ./Changes and ./setup.py | |
git status | |
git commit -am 'Version bump to 0.10.7' | |
# before actually finalizing this, need to test | |
### Make any necessary changes to the SPKG's Hg repo | |
cd ~/spkg/ | |
wget https://googledrive.com/host/0B2kYdLdBVFHIZEd4ekpjNUFBNTQ/sagenb-0.10.6.spkg # latest SPKG | |
tar xf sagenb-0.10.6.spkg | |
mv -T sagenb-0.10.6 sagenb-0.10.7 | |
cd sagenb-0.10.7 | |
hg status | |
# looks like someone forgot to commit their changes | |
hg diff | |
hg commit -m 'Update license to GPLv3+' | |
# edit SPKG.txt to add some info about the new version | |
hg commit -m 'bump' | |
### Update the packaged dependencies | |
rm -rf src | |
cd ~/src/sagenb/ | |
./dist.sh | |
cd ~/spkg/ | |
mv -T ~/src/sagenb/dist sagenb-0.10.7/src | |
sage --pkg -n sagenb-0.10.7 | |
sage -f sagenb-0.10.7.spkg # test installation | |
# oops, it failed because the latest version of Flask has some new dependency called "itsdangerous" | |
### Undo the version bump and fix the manually maintained dependency list in util/fetch_deps.py | |
cd ~/src/sagenb | |
git status # as expected I'm on the master branch with no uncommitted changes | |
git reset --mixed HEAD^ # keep the changes to setup.py and Changes but don't set them up to be committed | |
# edit util/fetch_deps.py | |
git add util/fetch_deps.py | |
git commit -m 'Update manual dependency fetching list' | |
git commit -am 'Version bump to 0.10.7' | |
### Test again | |
./dist.sh | |
rm -rf ~/spkg/sagenb-0.10.7/src/ | |
mv -T dist ~/spkg/sagenb-0.10.7/src | |
cd ~/spkg | |
sage --pkg -n sagenb-0.10.7 | |
sage -f sagenb-0.10.7.spkg | |
sage -tp --sagenb | |
sage -n | |
# oops, this breaks too. SageNBFlask.save_session has some bug with new | |
# versions of Flask, apparently. | |
### Undo the version bump and try to fix the bug | |
cd ~/src/sagenb | |
git status | |
git reset --mixed HEAD^ | |
git stash | |
git checkout -b save_session | |
# edit flask_version/base.py | |
git commit -av # enter commit message | |
### Test again | |
./dist.sh | |
rm -rf ~/spkg/sagenb-0.10.7/src/ | |
mv -T dist ~/spkg/sagenb-0.10.7/src | |
cd ~/spkg | |
sage --pkg -n sagenb-0.10.7 | |
sage -f sagenb-0.10.7.spkg | |
sage -tp --sagenb | |
sage -n | |
# play around in a worksheet, poke at the livedocs, etc. | |
# OK, seems all good | |
### Push this fix to github for review | |
cd ~/src/sagenb | |
git status | |
git push --set-upstream origin save_session | |
# go to http://github.com/kini/sagenb and make the pull request | |
# the earlier commit for adding Flask's dependency shows up too, so let's push that to github master | |
git checkout master | |
git push upstream master | |
### (2 days later) ppurka reviewed the fix, now let's get on with making the SPKG | |
### First, test the new master again just to be sure (who knows, might be a new version of something out in the last two days) | |
git remote update | |
git status # confirm we're still on master | |
git pull --ff-only | |
./dist.sh | |
rm -rf ~/spkg/sagenb-0.10.7/src/ | |
mv -T dist ~/spkg/sagenb-0.10.7/src | |
cd ~/spkg | |
sage --pkg -n sagenb-0.10.7 | |
sage -f sagenb-0.10.7.spkg | |
sage -tp --sagenb | |
sage -n | |
# play around with it to make sure it's not obviously broken | |
# OK, seems fine | |
### Cut 0.10.7 | |
cd ~/src/sagenb | |
git stash pop # I stashed the version bump changes earlier | |
# edit Changes to change the date to today | |
git commit -am 'Version bump to 0.10.7' | |
git tag 0.10.7 | |
./dist.sh # maybe I should add an option to dist.sh to only rebuild the sagenb tarball and not download all the dependencies again... | |
rm -rf ~/spkg/sageb-0.10.7/src/ | |
mv -T dist ~/spkg/sagenb-0.10.7/src | |
cd ~/spkg | |
sage --pkg -n sagenb-0.10.7 | |
sage -f sagenb-0.10.7.spkg | |
sage -tp --sagenb | |
# I'm fairly certain that if just changing the version number and the Changes file which nothing ever reads creates any bug that wasn't caught by doctests, that bug will be subtle enough that I won't find it by playing around with the notebook, so let's skip that... | |
### Upload the new SPKG | |
scp sagenb-0.10.7.spkg boxen:files/ | |
### Publish the new version on github | |
cd ~/src/sagenb | |
git checkout master | |
git push upstream master | |
git checkout release | |
git merge 0.10.7 | |
git push upstream release # why do we have this branch again? oh well | |
git push --tags | |
### Announce the new SPKG on the Sage trac ticket | |
# go to http://trac.sagemath.org/sage_trac/ticket/14330 and paste a link | |
### Done! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment