[sagenb] 145/157: Updated Release Manager Instructions
felix salfelder
felix-guest at moszumanska.debian.org
Mon Dec 22 16:52:02 UTC 2014
This is an automated email from the git hooks/post-receive script.
felix-guest pushed a commit to branch master
in repository sagenb.
commit 09f0d1c82aacb8dd84b936b0c7c70350e92a232f
Author: Punarbasu Purkayastha <ppurka at gmail.com>
Date: Thu Nov 6 16:24:39 2014 -0500
Updated Release Manager Instructions
---
ReleaseInstr.md | 134 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 134 insertions(+)
diff --git a/ReleaseInstr.md b/ReleaseInstr.md
new file mode 100644
index 0000000..c097051
--- /dev/null
+++ b/ReleaseInstr.md
@@ -0,0 +1,134 @@
+## Steps to create a Sagenb package
+
+Throughout the steps below, replace `<version>` with the actual version,
+for example, `0.10.8.3`. Also, we will assume that
+`github.org/sagemath/sagenb` is present as `upstream` remote repository
+in your local `SAGENB_ROOT`.
+
+1. Change into the sagenb git directory, and update to the latest
+ `upstream/master`. We assume that all the required merges to the
+ `upstream/master` have happened already and that your master is
+ at a previous or current commit (same hash) of `upstream/master`;
+ if not, use `git merge upstream/master` instead of `git rebase`.
+
+ ```sh
+ cd SAGENB_ROOT
+ git checkout master
+ git fetch upstream
+ git rebase upstream/master
+ ```
+
+1. Edit `Changes` file to highlight the main changes. Edit `setup.py` to
+ update the version for Sagenb (this is *important*). Example diff:
+
+ ```diff
+ --- a/setup.py
+ +++ b/setup.py
+ @@ -44,7 +44,7 @@ if __name__ == '__main__':
+ distutils.log.set_threshold(distutils.log.DEBUG)
+
+ code = setup(name = 'sagenb',
+ - version = '0.10.8.2',
+ + version = '0.10.8.3',
+ description = 'The Sage Notebook',
+ license = 'GNU General Public License (GPL) v3+',
+ author = 'William Stein et al.',
+ ```
+
+1. Commit the updated version change.
+
+ ```sh
+ git add Changes
+ git add setup.py
+ git commit -m "Update Sagenb version to <version>"
+ ```
+
+1. Create the dist directory with all the included packages.
+
+ ```sh
+ ./dist.sh
+ ```
+
+1. (Optional) If the above command was already run once, then to avoid
+ downloading all the dependencies all over again, and to just repackage
+ only sagenb, the following command can also be run:
+
+ ```sh
+ rm -f dist/sagenb*
+ ./dist.sh -s
+ ```
+
+1. Create the sagenb tar file for inclusion into Sage.
+
+ FIXME - probably the dist is actually the right one
+
+ ```sh
+ mv dist sagenb-<version>
+ tar cf sagenb-<version>.tar sagenb-<version>
+ mv sagenb-<version>.tar SAGE_ROOT/upstream
+ ```
+
+1. Let Sage know about the new sagenb and update its checksums, and then
+ try out the new sagenb and test it. Here we are not yet committing,
+ in case of any errors.
+
+ ```sh
+ cd SAGE_ROOT
+ echo "<version>" > build/pkgs/sagenb/package-version.txt
+ ./sage -sh -c sage-fix-pkg-checksums
+ ./sage -tp --long --sagenb # test sagenb
+ make ptestlong # test sage
+ ```
+
+1. (Optional) If you encounter errors or realize there was a mistake,
+ you can try to fix them back in sagenb, after reverting the last
+ change (the updated sagenb version).
+
+ ```sh
+ cd SAGENB_ROOT
+ git reset --mixed HEAD^
+ <fix whatever needs fixing>
+ <perhaps run tests again, from SAGE_ROOT>
+ git commit -m 'Fix doctests' # or whatever is appropriate
+ <edit Changes and setup.py again if necessary>
+ git add Changes
+ git add setup.py
+ git commit
+ ```
+
+ Now return to the previous step (in `SAGE_ROOT`) as needed,
+ and then proceed.
+
+1. Now we can create a branch for the ticket `<ticket>`, commit our changes,
+ and push to Trac. Warning: do not use `git commit -a`
+ unless you are sure (see `git status`) that you don't have anything else
+ in your directory that shouldn't be added; otherwise do `git add` the
+ correct files first.
+
+ ```sh
+ git checkout develop -b ticket/<ticket> # or "git trac create" or "git trac checkout", etc
+ git commit -a -m "Upgrade sagenb to version <version>"
+ ./sage -tp --long --sagenb # test sagenb again
+ make ptestlong # test sage again if need be
+ git trac push <ticket>
+ ```
+
+ You will want to upload the sagenb tar file somewhere convenient and
+ put a link to it on the appropriate Trac ticket as well.
+
+1. Now that everything is fine, update the sagenb in Github with the new
+ changes.
+
+ ```sh
+ cd SAGENB_ROOT
+ git tag <version>
+ git push upstream master
+ git checkout release
+ git merge <version>
+ git push upstream release
+ git push upstream --tags # This will automatically create sagenb.tar.gz in Github
+ ```
+
+1. If you encounter any difficulties, you can also look at the
+ [work flow](https://gist.github.com/kini/5852091) that was shown by
+ @kini long ago or see the older release instructions in README.rst
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/sagenb.git
More information about the debian-science-commits
mailing list