Skip to content

Instantly share code, notes, and snippets.

@kini
Created June 24, 2013 18:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kini/5852091 to your computer and use it in GitHub Desktop.
Save kini/5852091 to your computer and use it in GitHub Desktop.
shell log for releasing sagenb 0.10.7 (for @novoselt)
### 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